SlideShare a Scribd company logo
Shoot the Frieza with
Amazon Kinesis !
JAWSDAYS 2014.3.15
@shimy_net
I’m AWS Comedian
Takayuki SHIMIZU
@shimy_net
AWS Comedian have to waste a
technical talent for getting a laugh.
My works
Cycling with DynamoDB
AWS Automation by
Rube Goldberg machine
EC2 Kickstart by Kinect
Today’s theme
Kinesis
What’s Amazon Kinesis ?
Kinesis
Big data Real-timeProcessing Visualize
We can visualize
everything in real-time.
In short
Got an idea !
If we put the POWER
into Amazon Kinesis
…
We can defeat Frieza
… I can annihilate
you with only
half of my full
strength.
Imagine…
Collect the POWER
JUST
GIVE ME
A LITTLE
BIT OF
YOUR
POWER..
EARTH…
OCEAN…
ALL LIVING
THINGS…
Put it into Amazon Kinesis
Visualize it !
We can defeat Frieza
(゚ー゚*;)
OK
(́Д`;)
Really OK?
How to collect the POWER ?
Tweet
Morphological Analysis
Emotion Analysis
Estimate the POWER
1Tweet = Max 100 pt
Convert Tweet into POWER
POWER
Step1.
Morphological Analysis
本日は晴天なり
本日 / は / 晴天 / なり
MeCab
It's fine today	
It / is / fine / today
Step2.
Emotion Analysis
本日 / は / 晴天 / なり
Emotion Dictionary
-1.0∼+1.0 (Negative or Positive)
+0.63-0.18
fine	
today
Step3.
Estimate the POWER
POWER = 72 pt
本日 / は / 晴天 / なり
+0.63-0.18
fine	
today
Step4.
Create an Energy ball
82pt
37pt
77pt
64pt
93pt
Tweet
Tweet
Tweet
Tweet
Tweet
Break the limit over
530,000pt !!!
Don’t worry.
I won’t use
all of my
power.	
	
It’s
530,000
I wrote a program
Architecture
Kinesis
Stream
Twitter4J Kinesis MeCab Dynamo Unity
VisualizeAnalyzeKinesisTweet
We fight with
#jawsdays’s POWER
Put tweets into Kinesis
Kinesis
Stream
Twitter4J Kinesis MeCab Dynamo Unity
TwitterStream twitterStream = new TwitterStreamFactory().getInstance();	
StatusListener listener = new StatusListener() {	
@Override	
public void onStatus(Status status) {	
	String key = RandomStringUtils.randomAlphanumeric(10);	
	String json = DataObjectFactory.getRawJSON(status); 		
	PutRecordRequest putRecordRequest = new PutRecordRequest();	
	putRecordRequest.setStreamName(PropUtil.getInstance().getProp("StreamName"));
	putRecordRequest.setData(ByteBuffer.wrap(json.getBytes(Charset.forName("UTF-8")));	
	putRecordRequest.setPartitionKey(key);	
	PutRecordResult putRecordResult = kinesis.putRecord(putRecordRequest);	
}	
};	
	
twitterStream.addListener(listener);	
FilterQuery filterQuery = new FilterQuery();	
filterQuery.track(new String[] { PropUtil.getInstance().getProp("Keyword1"),
PropUtil.getInstance().getProp("Keyword2") });	
twitterStream.filter(filterQuery);
Get tweets from Kinesis
Kinesis
Stream
Twitter4J Kinesis MeCab Dynamo Unity
private void processRecordsWithRetries(List<Record> records) {
	for (Record record : records) {	
	 	boolean processedSuccessfully = false;	
	 	String data = null;	
	 	for (int i = 0; i < NUM_RETRIES; i++) {	
	 	 try {	
	 	 	// Get Data	
	 	 	data = decoder.decode(record.getData()).toString();	
	 	 	Status status = DataObjectFactory.createStatus(data );	
	 	 	 		
	 	 	// MeCab something	
	 	 	// ・・・・・・	
	 	 	processedSuccessfully = true;	
	 	 	break;	
	 	 } catch (Throwable t) {}	
	 	}	
	}	
}
Analyze tweets
Kinesis
Stream
Twitter4J Kinesis MeCab Dynamo Unity
Tagger tagger = new Tagger("-Ochasen");	
tagger.parse(status.getText().replaceAll("¥n", ""));	
Node node = tagger.parseToNode(status.getText().replaceAll("¥n", ""));	
Double sum = 0.0;	
int count = 0;	
for (; node != null; node = node.getNext()) {	
	String[] mecabArray = node.getFeature().split(","); 		
	String originalWord = node.getSurface();	
	if (!mecabArray[6].equals("*")) {	
	 	originalWord = mecabArray[6]; // 基本形	
	
}	
	 	 	 	 	 		
	String feature = mecabArray[0];	
	if (feature.equals("名詞") || feature.equals("動詞")	
	 || feature.equals("形容詞”) || feature.equals("形容動詞")	
	 || feature.equals("副詞")) {	
	 	// Positive or Negative	
	 	sum+=PositiveNegativeJudge.getInstance().getDouble(originalWord+":"+feature);	
	 	count++;	
	}	
}	
Double point = Math.floor((sum / count + 1.0) * 100.0 / 2.0);
Store results on Dynamo DB
Kinesis
Stream
Twitter4J Kinesis MeCab Dynamo Unity
	
private static PutItemRequest createPutItemRequest(String id, String datetime, String name,
String screenName, String text, Double value) {	
	
	Map<String, AttributeValue> putItems = new HashMap<String, AttributeValue>();	
	putItems.put("AppName", new
AttributeValue().withS(PropUtil.getInstance().getProp("ApplicationName")));	
	putItems.put("Datetime/SerialNumber", new AttributeValue().withS(datetime+"/"+id));	
	putItems.put("ScreenName", new AttributeValue().withS("@" + screenName));	
	putItems.put("Name", new AttributeValue().withS(name));	
	putItems.put("Text", new AttributeValue().withS(text));	
	putItems.put("Value", new AttributeValue().withN(Double.toString(value)));	
	PutItemRequest putItemRequest = new
PutItemRequest().withTableName(PropUtil.getInstance().getProp("DynamoDbTableNameDetail")).withIte
m(putItems);	
	
	return putItemRequest;	
}
Store results on Dynamo DB
The POWER
Total POWER
Atomic Counter
Output to JSON
Visualize the Power using Unity
Kinesis
Stream
Twitter4J Kinesis MeCab Dynamo Unity
Hatsune Miku
※Virtual idol
Here we go !
Give me the POWER
In real-time
Miku collects the POWER
Miku
Everyone s
tweet
POWER
meter
Kamehameha
Frieza
Demonstration
Lose
We fight with #jawsdays’s POWER
Miku falls down
Lose
We need more POWER
We need more
POWER !!!
This situation is
within my “assumption”
	
if (tweet.indexOf(“芸人イケメン”)) != -1) {	
	point = 530000.0;	
}	
”Comedian Cool”
Give me your POWER !
芸人イケメン
#jawsdays
Please tweet “Comedian Cool”
and give me your POWER !!
Comedian Cool
Thanks for
a lot of tweets
Retry
Kamehameha
Win
Over 530,000 !!!
Frieza
Frieza
Win
We did it !
Comedian Cool
Kinesis Cool
Conclusion
Inside story
I monitored processes of my program in server-side
because I had to accomplish this real-time demonstration
within 5 min.
But an incident happened.
Just before my turn to go on stage,
I noticed that a process which retrieve POWER’s data from
Dynamo DB was often stopped.
ec2-user 14685 0.1 4.2 1625848 71584 ? Sl 02:10 0:27 java KinesisPutter
ec2-user 18622 2.2 4.8 1787796 82660 pts/1 Sl 06:01 0:21 java -Djava.library.path=.:/usr/local/bin/mecab-java KinesisGetter
ec2-user 18944 22.0 4.2 1618412 71836 ? Sl 06:16 0:08 java DynamoJsonCreator
↓
ec2-user 14685 0.1 4.2 1625848 71584 ? Sl 02:10 0:27 java KinesisPutter
ec2-user 18622 2.2 4.9 1839496 83452 pts/1 Sl 06:01 0:21 java -Djava.library.path=.:/usr/local/bin/mecab-java KinesisGetter
Inside story
I tried to set an alive-monitoring by “cron” and be able to
restart a process automatically when it’s dead.
crontab -l
*/2 * * * * bash /home/ec2-user/KinesisTwitter/check_putter.sh > /home/ec2-user/cron.log.putter.txt 2>&1
*/2 * * * * bash /home/ec2-user/KinesisTwitter/check_getter.sh > /home/ec2-user/cron.log.getter.txt 2>&1
*/2 * * * * bash /home/ec2-user/KinesisTwitter/check_create_json.sh > /home/ec2-user/cron.log.create.json.txt 2>&1
In the meantime,
I found my mistake that Dynamo DB’s throughput set 1.
(;´Д`) oh…
Inside story
Nintendo’s presentation had started and the frequency of
#jawsdays’s tweet was increasing. Then my program’s
process was stopped.
I modified Dynamo DB’s throughput to solve a problem.
This is the quintessence of AWS.
Nintendo’s presentation
start
Modify throughput
References
ドラゴンボール
Amazon Kinesis http://aws.amazon.com/jp/kinesis/
Amazon DynamoDB http://aws.amazon.com/jp/dynamodb/
Twitter4J http://twitter4j.org/ja/
MeCab http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html
MeCab-java 
単語感情極性対応表 http://www.lr.pi.titech.ac.jp/ takamura/pndic_ja.html
Unity http://japan.unity3d.com/
MikuMikuDcance for Unity http://mmd-for-unity-proj.github.io/mmd-for-unity/ 
Lat式ミク http://dic.nicovideo.jp/a/lat
フリーザ http://ux.getuploader.com/karota318/
かめはめ波モーション http://www.nicovideo.jp/watch/sm15093547
歩き・スキップモーション http://www.nicovideo.jp/watch/sm21263509
待機モーション http://www.nicovideo.jp/watch/sm18961728
やられモーション http://www.nicovideo.jp/watch/sm19073965
日常モーション http://www.nicovideo.jp/watch/sm18015670
Thank you
Well,
goodbye !

More Related Content

What's hot

WaveEngine 3D components
WaveEngine 3D componentsWaveEngine 3D components
WaveEngine 3D components
waveengineteam
 
The State of JavaScript (2015)
The State of JavaScript (2015)The State of JavaScript (2015)
The State of JavaScript (2015)
Domenic Denicola
 
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
Unity Technologies Japan K.K.
 
Deep Dive into Zone.JS
Deep Dive into Zone.JSDeep Dive into Zone.JS
Deep Dive into Zone.JS
Ilia Idakiev
 
Systems Bioinformatics Workshop Keynote
Systems Bioinformatics Workshop KeynoteSystems Bioinformatics Workshop Keynote
Systems Bioinformatics Workshop KeynoteDeepak Singh
 
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Masahiro Nagano
 
[JSDC 2016] Codex: Conditional Modules Strike Back
[JSDC 2016] Codex: Conditional Modules Strike Back[JSDC 2016] Codex: Conditional Modules Strike Back
[JSDC 2016] Codex: Conditional Modules Strike Back
Alex Liu
 
Erlang/N2O at KNPMeetup 2015
Erlang/N2O at KNPMeetup 2015Erlang/N2O at KNPMeetup 2015
Erlang/N2O at KNPMeetup 2015
Oleg Zinchenko
 
Clustering your Application with Hazelcast
Clustering your Application with HazelcastClustering your Application with Hazelcast
Clustering your Application with Hazelcast
Hazelcast
 
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłemTomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
SegFaultConf
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Remy Sharp
 
Backend, app e internet das coisas com NodeJS no Google Cloud Platform
Backend, app e internet das coisas com NodeJS no Google Cloud PlatformBackend, app e internet das coisas com NodeJS no Google Cloud Platform
Backend, app e internet das coisas com NodeJS no Google Cloud Platform
Alvaro Viebrantz
 
MongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and QueueingMongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and Queueing
Boxed Ice
 
IPC: AIDL is sexy, not a curse
IPC: AIDL is sexy, not a curseIPC: AIDL is sexy, not a curse
IPC: AIDL is sexy, not a curse
Yonatan Levin
 
Ipc: aidl sexy, not a curse
Ipc: aidl sexy, not a curseIpc: aidl sexy, not a curse
Ipc: aidl sexy, not a curseYonatan Levin
 
Modern server side development with node.js - Benjamin gruenbaum
Modern server side development with node.js - Benjamin gruenbaumModern server side development with node.js - Benjamin gruenbaum
Modern server side development with node.js - Benjamin gruenbaum
geektimecoil
 
JavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New WorldJavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New World
Robert Nyman
 
201204 random clustering
201204 random clustering201204 random clustering
201204 random clustering
pluskjw
 
ニコニコ動画を検索可能にしてみよう
ニコニコ動画を検索可能にしてみようニコニコ動画を検索可能にしてみよう
ニコニコ動画を検索可能にしてみよう
genta kaneyama
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applicationsTom Croucher
 

What's hot (20)

WaveEngine 3D components
WaveEngine 3D componentsWaveEngine 3D components
WaveEngine 3D components
 
The State of JavaScript (2015)
The State of JavaScript (2015)The State of JavaScript (2015)
The State of JavaScript (2015)
 
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
 
Deep Dive into Zone.JS
Deep Dive into Zone.JSDeep Dive into Zone.JS
Deep Dive into Zone.JS
 
Systems Bioinformatics Workshop Keynote
Systems Bioinformatics Workshop KeynoteSystems Bioinformatics Workshop Keynote
Systems Bioinformatics Workshop Keynote
 
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
 
[JSDC 2016] Codex: Conditional Modules Strike Back
[JSDC 2016] Codex: Conditional Modules Strike Back[JSDC 2016] Codex: Conditional Modules Strike Back
[JSDC 2016] Codex: Conditional Modules Strike Back
 
Erlang/N2O at KNPMeetup 2015
Erlang/N2O at KNPMeetup 2015Erlang/N2O at KNPMeetup 2015
Erlang/N2O at KNPMeetup 2015
 
Clustering your Application with Hazelcast
Clustering your Application with HazelcastClustering your Application with Hazelcast
Clustering your Application with Hazelcast
 
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłemTomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
Tomasz Nurkiewicz - Programowanie reaktywne: czego się nauczyłem
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
 
Backend, app e internet das coisas com NodeJS no Google Cloud Platform
Backend, app e internet das coisas com NodeJS no Google Cloud PlatformBackend, app e internet das coisas com NodeJS no Google Cloud Platform
Backend, app e internet das coisas com NodeJS no Google Cloud Platform
 
MongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and QueueingMongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and Queueing
 
IPC: AIDL is sexy, not a curse
IPC: AIDL is sexy, not a curseIPC: AIDL is sexy, not a curse
IPC: AIDL is sexy, not a curse
 
Ipc: aidl sexy, not a curse
Ipc: aidl sexy, not a curseIpc: aidl sexy, not a curse
Ipc: aidl sexy, not a curse
 
Modern server side development with node.js - Benjamin gruenbaum
Modern server side development with node.js - Benjamin gruenbaumModern server side development with node.js - Benjamin gruenbaum
Modern server side development with node.js - Benjamin gruenbaum
 
JavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New WorldJavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New World
 
201204 random clustering
201204 random clustering201204 random clustering
201204 random clustering
 
ニコニコ動画を検索可能にしてみよう
ニコニコ動画を検索可能にしてみようニコニコ動画を検索可能にしてみよう
ニコニコ動画を検索可能にしてみよう
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications
 

Viewers also liked

AWS ロボを作ろう JAWSUG Kobe
AWS ロボを作ろう JAWSUG KobeAWS ロボを作ろう JAWSUG Kobe
AWS ロボを作ろう JAWSUG Kobe
崇之 清水
 
AWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYSAWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYS
崇之 清水
 
BaaS vs. バース ホームラン対決 - AWS Summit Tokyo 2014 Lightning Talk
BaaS vs. バース ホームラン対決 - AWS Summit Tokyo 2014 Lightning TalkBaaS vs. バース ホームラン対決 - AWS Summit Tokyo 2014 Lightning Talk
BaaS vs. バース ホームラン対決 - AWS Summit Tokyo 2014 Lightning Talk
崇之 清水
 
[初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て![初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て!
崇之 清水
 
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
崇之 清水
 
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
崇之 清水
 
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
崇之 清水
 
日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた
崇之 清水
 
AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏
AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏
AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏崇之 清水
 
Amazon Aurora の活用
Amazon Aurora の活用Amazon Aurora の活用
Amazon Aurora の活用
崇之 清水
 
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
崇之 清水
 
CTO Night & Days 2015 Winter - AWS Mobile Development
CTO Night & Days 2015 Winter - AWS Mobile DevelopmentCTO Night & Days 2015 Winter - AWS Mobile Development
CTO Night & Days 2015 Winter - AWS Mobile Development
崇之 清水
 
Amazon Aurora の活用 - Developers.IO in OSAKA
Amazon Aurora の活用 - Developers.IO in OSAKAAmazon Aurora の活用 - Developers.IO in OSAKA
Amazon Aurora の活用 - Developers.IO in OSAKA
崇之 清水
 
CTO Night & Days 2015 Winter - AWS Mobile Testing
CTO Night & Days 2015 Winter - AWS Mobile TestingCTO Night & Days 2015 Winter - AWS Mobile Testing
CTO Night & Days 2015 Winter - AWS Mobile Testing
崇之 清水
 
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
崇之 清水
 
Hadoop Trends & Hadoop on EC2
Hadoop Trends & Hadoop on EC2Hadoop Trends & Hadoop on EC2
Hadoop Trends & Hadoop on EC2
Yifeng Jiang
 
Amazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみるAmazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみる崇之 清水
 
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
崇之 清水
 
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
崇之 清水
 

Viewers also liked (20)

AWS ロボを作ろう JAWSUG Kobe
AWS ロボを作ろう JAWSUG KobeAWS ロボを作ろう JAWSUG Kobe
AWS ロボを作ろう JAWSUG Kobe
 
AWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYSAWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYS
 
BaaS vs. バース ホームラン対決 - AWS Summit Tokyo 2014 Lightning Talk
BaaS vs. バース ホームラン対決 - AWS Summit Tokyo 2014 Lightning TalkBaaS vs. バース ホームラン対決 - AWS Summit Tokyo 2014 Lightning Talk
BaaS vs. バース ホームラン対決 - AWS Summit Tokyo 2014 Lightning Talk
 
[初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て![初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て!
 
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
 
Dynamo 頂上決戦
Dynamo 頂上決戦Dynamo 頂上決戦
Dynamo 頂上決戦
 
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
 
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
 
日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた
 
AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏
AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏
AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏
 
Amazon Aurora の活用
Amazon Aurora の活用Amazon Aurora の活用
Amazon Aurora の活用
 
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
 
CTO Night & Days 2015 Winter - AWS Mobile Development
CTO Night & Days 2015 Winter - AWS Mobile DevelopmentCTO Night & Days 2015 Winter - AWS Mobile Development
CTO Night & Days 2015 Winter - AWS Mobile Development
 
Amazon Aurora の活用 - Developers.IO in OSAKA
Amazon Aurora の活用 - Developers.IO in OSAKAAmazon Aurora の活用 - Developers.IO in OSAKA
Amazon Aurora の活用 - Developers.IO in OSAKA
 
CTO Night & Days 2015 Winter - AWS Mobile Testing
CTO Night & Days 2015 Winter - AWS Mobile TestingCTO Night & Days 2015 Winter - AWS Mobile Testing
CTO Night & Days 2015 Winter - AWS Mobile Testing
 
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
 
Hadoop Trends & Hadoop on EC2
Hadoop Trends & Hadoop on EC2Hadoop Trends & Hadoop on EC2
Hadoop Trends & Hadoop on EC2
 
Amazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみるAmazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみる
 
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜 AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
 
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
 

Similar to [Hatsune Miku] Shoot Frieza with Amazon Kinesis ! [EN]

Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJSPat Cito
 
Java Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
Java Hurdling: Obstacles and Techniques in Java Client Penetration-TestingJava Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
Java Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
Tal Melamed
 
Run Node Run
Run Node RunRun Node Run
Run Node Run
Kevin Swiber
 
Async Redux Actions With RxJS - React Rally 2016
Async Redux Actions With RxJS - React Rally 2016Async Redux Actions With RxJS - React Rally 2016
Async Redux Actions With RxJS - React Rally 2016
Ben Lesh
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBox
bobmcwhirter
 
Java Performance Tuning
Java Performance TuningJava Performance Tuning
Java Performance Tuning
Atthakorn Chanthong
 
How much performance can you get out of Javascript? - Massimiliano Mantione -...
How much performance can you get out of Javascript? - Massimiliano Mantione -...How much performance can you get out of Javascript? - Massimiliano Mantione -...
How much performance can you get out of Javascript? - Massimiliano Mantione -...
Codemotion
 
streamparse and pystorm: simple reliable parallel processing with storm
streamparse and pystorm: simple reliable parallel processing with stormstreamparse and pystorm: simple reliable parallel processing with storm
streamparse and pystorm: simple reliable parallel processing with storm
Daniel Blanchard
 
Javascript Memory leaks and Performance & Angular
Javascript Memory leaks and Performance & AngularJavascript Memory leaks and Performance & Angular
Javascript Memory leaks and Performance & Angular
Erik Guzman
 
Planet-HTML5-Game-Engine Javascript Performance Enhancement
Planet-HTML5-Game-Engine Javascript Performance EnhancementPlanet-HTML5-Game-Engine Javascript Performance Enhancement
Planet-HTML5-Game-Engine Javascript Performance Enhancement
up2soul
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
devObjective
 
Rethink Async With RXJS
Rethink Async With RXJSRethink Async With RXJS
Rethink Async With RXJS
Ryan Anklam
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
ColdFusionConference
 
I know why your Java is slow
I know why your Java is slowI know why your Java is slow
I know why your Java is slow
aragozin
 
Codestrong 2012 breakout session hacking titanium
Codestrong 2012 breakout session   hacking titaniumCodestrong 2012 breakout session   hacking titanium
Codestrong 2012 breakout session hacking titaniumAxway Appcelerator
 
Beyond 60fps
Beyond 60fpsBeyond 60fps
Beyond 60fps
Chris Thoburn
 
Building Hermetic Systems (without Docker)
Building Hermetic Systems (without Docker)Building Hermetic Systems (without Docker)
Building Hermetic Systems (without Docker)
William Farrell
 
Coolblue - Behind the Scenes Continuous Integration & Deployment
Coolblue - Behind the Scenes Continuous Integration & DeploymentCoolblue - Behind the Scenes Continuous Integration & Deployment
Coolblue - Behind the Scenes Continuous Integration & Deployment
Matthew Hodgkins
 
Event driven javascript
Event driven javascriptEvent driven javascript
Event driven javascript
Francesca1980
 
Event driven javascript
Event driven javascriptEvent driven javascript
Event driven javascript
Francesca1980
 

Similar to [Hatsune Miku] Shoot Frieza with Amazon Kinesis ! [EN] (20)

Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Java Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
Java Hurdling: Obstacles and Techniques in Java Client Penetration-TestingJava Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
Java Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
 
Run Node Run
Run Node RunRun Node Run
Run Node Run
 
Async Redux Actions With RxJS - React Rally 2016
Async Redux Actions With RxJS - React Rally 2016Async Redux Actions With RxJS - React Rally 2016
Async Redux Actions With RxJS - React Rally 2016
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBox
 
Java Performance Tuning
Java Performance TuningJava Performance Tuning
Java Performance Tuning
 
How much performance can you get out of Javascript? - Massimiliano Mantione -...
How much performance can you get out of Javascript? - Massimiliano Mantione -...How much performance can you get out of Javascript? - Massimiliano Mantione -...
How much performance can you get out of Javascript? - Massimiliano Mantione -...
 
streamparse and pystorm: simple reliable parallel processing with storm
streamparse and pystorm: simple reliable parallel processing with stormstreamparse and pystorm: simple reliable parallel processing with storm
streamparse and pystorm: simple reliable parallel processing with storm
 
Javascript Memory leaks and Performance & Angular
Javascript Memory leaks and Performance & AngularJavascript Memory leaks and Performance & Angular
Javascript Memory leaks and Performance & Angular
 
Planet-HTML5-Game-Engine Javascript Performance Enhancement
Planet-HTML5-Game-Engine Javascript Performance EnhancementPlanet-HTML5-Game-Engine Javascript Performance Enhancement
Planet-HTML5-Game-Engine Javascript Performance Enhancement
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
 
Rethink Async With RXJS
Rethink Async With RXJSRethink Async With RXJS
Rethink Async With RXJS
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
 
I know why your Java is slow
I know why your Java is slowI know why your Java is slow
I know why your Java is slow
 
Codestrong 2012 breakout session hacking titanium
Codestrong 2012 breakout session   hacking titaniumCodestrong 2012 breakout session   hacking titanium
Codestrong 2012 breakout session hacking titanium
 
Beyond 60fps
Beyond 60fpsBeyond 60fps
Beyond 60fps
 
Building Hermetic Systems (without Docker)
Building Hermetic Systems (without Docker)Building Hermetic Systems (without Docker)
Building Hermetic Systems (without Docker)
 
Coolblue - Behind the Scenes Continuous Integration & Deployment
Coolblue - Behind the Scenes Continuous Integration & DeploymentCoolblue - Behind the Scenes Continuous Integration & Deployment
Coolblue - Behind the Scenes Continuous Integration & Deployment
 
Event driven javascript
Event driven javascriptEvent driven javascript
Event driven javascript
 
Event driven javascript
Event driven javascriptEvent driven javascript
Event driven javascript
 

More from 崇之 清水

WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)
崇之 清水
 
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
崇之 清水
 
マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法
崇之 清水
 
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
崇之 清水
 
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
クラウドを活用したセンシング/モニタリングなどデータ分析の実現クラウドを活用したセンシング/モニタリングなどデータ分析の実現
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
崇之 清水
 
AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28
崇之 清水
 
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
崇之 清水
 
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osakaサーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
崇之 清水
 
AWS における サーバーレスの基礎からチューニングまで
AWS における サーバーレスの基礎からチューニングまでAWS における サーバーレスの基礎からチューニングまで
AWS における サーバーレスの基礎からチューニングまで
崇之 清水
 
データ分析 on AWS
データ分析 on AWSデータ分析 on AWS
データ分析 on AWS
崇之 清水
 
Amazon Web Services (AWS) のご紹介
Amazon Web Services (AWS) のご紹介Amazon Web Services (AWS) のご紹介
Amazon Web Services (AWS) のご紹介
崇之 清水
 
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
Amazon AI のスゴいデモ(仮) - Serverless Meetup OsakaAmazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
崇之 清水
 
Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築
崇之 清水
 
関西スタートアップAWS勉強会 スタートアップ最新事例
関西スタートアップAWS勉強会 スタートアップ最新事例関西スタートアップAWS勉強会 スタートアップ最新事例
関西スタートアップAWS勉強会 スタートアップ最新事例
崇之 清水
 
SA プライムなう! - AWS IoT とロボットアームでお絵かき
SA プライムなう! - AWS IoT とロボットアームでお絵かきSA プライムなう! - AWS IoT とロボットアームでお絵かき
SA プライムなう! - AWS IoT とロボットアームでお絵かき
崇之 清水
 
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
崇之 清水
 

More from 崇之 清水 (16)

WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)
 
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
 
マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法
 
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
 
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
クラウドを活用したセンシング/モニタリングなどデータ分析の実現クラウドを活用したセンシング/モニタリングなどデータ分析の実現
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
 
AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28
 
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
 
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osakaサーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
 
AWS における サーバーレスの基礎からチューニングまで
AWS における サーバーレスの基礎からチューニングまでAWS における サーバーレスの基礎からチューニングまで
AWS における サーバーレスの基礎からチューニングまで
 
データ分析 on AWS
データ分析 on AWSデータ分析 on AWS
データ分析 on AWS
 
Amazon Web Services (AWS) のご紹介
Amazon Web Services (AWS) のご紹介Amazon Web Services (AWS) のご紹介
Amazon Web Services (AWS) のご紹介
 
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
Amazon AI のスゴいデモ(仮) - Serverless Meetup OsakaAmazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
 
Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築
 
関西スタートアップAWS勉強会 スタートアップ最新事例
関西スタートアップAWS勉強会 スタートアップ最新事例関西スタートアップAWS勉強会 スタートアップ最新事例
関西スタートアップAWS勉強会 スタートアップ最新事例
 
SA プライムなう! - AWS IoT とロボットアームでお絵かき
SA プライムなう! - AWS IoT とロボットアームでお絵かきSA プライムなう! - AWS IoT とロボットアームでお絵かき
SA プライムなう! - AWS IoT とロボットアームでお絵かき
 
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
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
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
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
 
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
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
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
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
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
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
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
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
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
 
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
 
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
 
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
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
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
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
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
 
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
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
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
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
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...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
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
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
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
 
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
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.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
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

[Hatsune Miku] Shoot Frieza with Amazon Kinesis ! [EN]

  • 1. Shoot the Frieza with Amazon Kinesis ! JAWSDAYS 2014.3.15 @shimy_net
  • 2. I’m AWS Comedian Takayuki SHIMIZU @shimy_net AWS Comedian have to waste a technical talent for getting a laugh.
  • 3. My works Cycling with DynamoDB AWS Automation by Rube Goldberg machine EC2 Kickstart by Kinect
  • 5. What’s Amazon Kinesis ? Kinesis Big data Real-timeProcessing Visualize
  • 6. We can visualize everything in real-time. In short
  • 8. If we put the POWER into Amazon Kinesis …
  • 9. We can defeat Frieza … I can annihilate you with only half of my full strength.
  • 11. Collect the POWER JUST GIVE ME A LITTLE BIT OF YOUR POWER.. EARTH… OCEAN… ALL LIVING THINGS…
  • 12. Put it into Amazon Kinesis
  • 14. We can defeat Frieza
  • 17. How to collect the POWER ? Tweet Morphological Analysis Emotion Analysis Estimate the POWER 1Tweet = Max 100 pt Convert Tweet into POWER POWER
  • 18. Step1. Morphological Analysis 本日は晴天なり 本日 / は / 晴天 / なり MeCab It's fine today It / is / fine / today
  • 19. Step2. Emotion Analysis 本日 / は / 晴天 / なり Emotion Dictionary -1.0∼+1.0 (Negative or Positive) +0.63-0.18 fine today
  • 20. Step3. Estimate the POWER POWER = 72 pt 本日 / は / 晴天 / なり +0.63-0.18 fine today
  • 21. Step4. Create an Energy ball 82pt 37pt 77pt 64pt 93pt Tweet Tweet Tweet Tweet Tweet
  • 22. Break the limit over 530,000pt !!! Don’t worry. I won’t use all of my power. It’s 530,000
  • 23. I wrote a program
  • 24. Architecture Kinesis Stream Twitter4J Kinesis MeCab Dynamo Unity VisualizeAnalyzeKinesisTweet We fight with #jawsdays’s POWER
  • 25. Put tweets into Kinesis Kinesis Stream Twitter4J Kinesis MeCab Dynamo Unity TwitterStream twitterStream = new TwitterStreamFactory().getInstance(); StatusListener listener = new StatusListener() { @Override public void onStatus(Status status) { String key = RandomStringUtils.randomAlphanumeric(10); String json = DataObjectFactory.getRawJSON(status); PutRecordRequest putRecordRequest = new PutRecordRequest(); putRecordRequest.setStreamName(PropUtil.getInstance().getProp("StreamName")); putRecordRequest.setData(ByteBuffer.wrap(json.getBytes(Charset.forName("UTF-8"))); putRecordRequest.setPartitionKey(key); PutRecordResult putRecordResult = kinesis.putRecord(putRecordRequest); } }; twitterStream.addListener(listener); FilterQuery filterQuery = new FilterQuery(); filterQuery.track(new String[] { PropUtil.getInstance().getProp("Keyword1"), PropUtil.getInstance().getProp("Keyword2") }); twitterStream.filter(filterQuery);
  • 26. Get tweets from Kinesis Kinesis Stream Twitter4J Kinesis MeCab Dynamo Unity private void processRecordsWithRetries(List<Record> records) { for (Record record : records) { boolean processedSuccessfully = false; String data = null; for (int i = 0; i < NUM_RETRIES; i++) { try { // Get Data data = decoder.decode(record.getData()).toString(); Status status = DataObjectFactory.createStatus(data ); // MeCab something // ・・・・・・ processedSuccessfully = true; break; } catch (Throwable t) {} } } }
  • 27. Analyze tweets Kinesis Stream Twitter4J Kinesis MeCab Dynamo Unity Tagger tagger = new Tagger("-Ochasen"); tagger.parse(status.getText().replaceAll("¥n", "")); Node node = tagger.parseToNode(status.getText().replaceAll("¥n", "")); Double sum = 0.0; int count = 0; for (; node != null; node = node.getNext()) { String[] mecabArray = node.getFeature().split(","); String originalWord = node.getSurface(); if (!mecabArray[6].equals("*")) { originalWord = mecabArray[6]; // 基本形 } String feature = mecabArray[0]; if (feature.equals("名詞") || feature.equals("動詞") || feature.equals("形容詞”) || feature.equals("形容動詞") || feature.equals("副詞")) { // Positive or Negative sum+=PositiveNegativeJudge.getInstance().getDouble(originalWord+":"+feature); count++; } } Double point = Math.floor((sum / count + 1.0) * 100.0 / 2.0);
  • 28. Store results on Dynamo DB Kinesis Stream Twitter4J Kinesis MeCab Dynamo Unity private static PutItemRequest createPutItemRequest(String id, String datetime, String name, String screenName, String text, Double value) { Map<String, AttributeValue> putItems = new HashMap<String, AttributeValue>(); putItems.put("AppName", new AttributeValue().withS(PropUtil.getInstance().getProp("ApplicationName"))); putItems.put("Datetime/SerialNumber", new AttributeValue().withS(datetime+"/"+id)); putItems.put("ScreenName", new AttributeValue().withS("@" + screenName)); putItems.put("Name", new AttributeValue().withS(name)); putItems.put("Text", new AttributeValue().withS(text)); putItems.put("Value", new AttributeValue().withN(Double.toString(value))); PutItemRequest putItemRequest = new PutItemRequest().withTableName(PropUtil.getInstance().getProp("DynamoDbTableNameDetail")).withIte m(putItems); return putItemRequest; }
  • 29. Store results on Dynamo DB The POWER Total POWER Atomic Counter
  • 31. Visualize the Power using Unity Kinesis Stream Twitter4J Kinesis MeCab Dynamo Unity Hatsune Miku ※Virtual idol
  • 32. Here we go ! Give me the POWER
  • 33. In real-time Miku collects the POWER Miku Everyone s tweet POWER meter
  • 37. Lose We fight with #jawsdays’s POWER
  • 38. Miku falls down Lose We need more POWER
  • 40. This situation is within my “assumption” if (tweet.indexOf(“芸人イケメン”)) != -1) { point = 530000.0; } ”Comedian Cool”
  • 41. Give me your POWER ! 芸人イケメン #jawsdays Please tweet “Comedian Cool” and give me your POWER !! Comedian Cool
  • 42. Thanks for a lot of tweets
  • 43. Retry
  • 48. Inside story I monitored processes of my program in server-side because I had to accomplish this real-time demonstration within 5 min. But an incident happened. Just before my turn to go on stage, I noticed that a process which retrieve POWER’s data from Dynamo DB was often stopped. ec2-user 14685 0.1 4.2 1625848 71584 ? Sl 02:10 0:27 java KinesisPutter ec2-user 18622 2.2 4.8 1787796 82660 pts/1 Sl 06:01 0:21 java -Djava.library.path=.:/usr/local/bin/mecab-java KinesisGetter ec2-user 18944 22.0 4.2 1618412 71836 ? Sl 06:16 0:08 java DynamoJsonCreator ↓ ec2-user 14685 0.1 4.2 1625848 71584 ? Sl 02:10 0:27 java KinesisPutter ec2-user 18622 2.2 4.9 1839496 83452 pts/1 Sl 06:01 0:21 java -Djava.library.path=.:/usr/local/bin/mecab-java KinesisGetter
  • 49. Inside story I tried to set an alive-monitoring by “cron” and be able to restart a process automatically when it’s dead. crontab -l */2 * * * * bash /home/ec2-user/KinesisTwitter/check_putter.sh > /home/ec2-user/cron.log.putter.txt 2>&1 */2 * * * * bash /home/ec2-user/KinesisTwitter/check_getter.sh > /home/ec2-user/cron.log.getter.txt 2>&1 */2 * * * * bash /home/ec2-user/KinesisTwitter/check_create_json.sh > /home/ec2-user/cron.log.create.json.txt 2>&1 In the meantime, I found my mistake that Dynamo DB’s throughput set 1. (;´Д`) oh…
  • 50. Inside story Nintendo’s presentation had started and the frequency of #jawsdays’s tweet was increasing. Then my program’s process was stopped. I modified Dynamo DB’s throughput to solve a problem. This is the quintessence of AWS. Nintendo’s presentation start Modify throughput
  • 51. References ドラゴンボール Amazon Kinesis http://aws.amazon.com/jp/kinesis/ Amazon DynamoDB http://aws.amazon.com/jp/dynamodb/ Twitter4J http://twitter4j.org/ja/ MeCab http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html MeCab-java  単語感情極性対応表 http://www.lr.pi.titech.ac.jp/ takamura/pndic_ja.html Unity http://japan.unity3d.com/ MikuMikuDcance for Unity http://mmd-for-unity-proj.github.io/mmd-for-unity/  Lat式ミク http://dic.nicovideo.jp/a/lat フリーザ http://ux.getuploader.com/karota318/ かめはめ波モーション http://www.nicovideo.jp/watch/sm15093547 歩き・スキップモーション http://www.nicovideo.jp/watch/sm21263509 待機モーション http://www.nicovideo.jp/watch/sm18961728 やられモーション http://www.nicovideo.jp/watch/sm19073965 日常モーション http://www.nicovideo.jp/watch/sm18015670