SlideShare a Scribd company logo
WebエンジニアのためのはじめてのredisWebエンジニアのためのはじめてのredis
@nasa9084@nasa9084
$ whoami$ whoami
北村壮大 (Masahiro Kitamura)
@nasa9084
北海道大学工学部
情報エレクトロニクス学科
コンピュータサイエンスコース
情報認識学研究室
KEYWORDS: emacs python お酒
  
  
初心者向けIT技術勉強会
HTTPのキホン
正規表現入門
Webサーバーを構築してみよう
はじめてのSQL
などなど…
redisredis
redisとは?redisとは?
remote dictionary server
Key-Value Store (KVS)
豊富なデータ型
in-memory
永続化もできる
簡単・速い
Python, Ruby等と相性◎
→Web技術者は学んで損はない!
Key-value Store (KVS)Key-value Store (KVS)
dict(Python)
hash(Perl, Ruby)
map(C++, Java, Go)
名前空間
RDBMSとの比較RDBMSとの比較
機能 RDBMS Redis
シンプルな用途 △ ◎
高速処理 △ ◎
水平分散 × ◎
高可用設計 △ ◎
永続性 ◎ ○
複雑なクエリ ◎ ×
トランザクション ◎ △
一貫性 ◎ △
memcachedとの比較memcachedとの比較
memcached redis
得意なデータ キャッシュ キャッシュ
データ型 文字列のみ いろいろ
永続化 × ○
ディスクIO 行わない 無効化できる
速度 高速 高速
マルチスレッド ○ ×
メモリ効率 △ ○
Redisのデータ型Redisのデータ型
StringString
文字列
文字列の一部置き換え
長さの取得
数値
INCR / DECR できる
最大512MB
バイナリセーフ
画像などもOK
StringString
redis python
> SET hoge fugafuga
OK
> GET hoge
"fugafuga"
> SET point 10
OK
> GET point
"10"
> INCR point
(integer) 11
> GET point
"11"
from redis import Redis
redis = Redis()
redis.set('hoge', 'fugafuga')
print(redis.get('hoge'))
#=> b'fugafuga'
redis.set('point', 10)
print(redis.get('point'))
#=> b'10'
redis.incr('point')
print(redis.get('point'))
#=> b'11'
ListList
Stringのリスト
実装はLinked List
先頭・末尾への挿入・アクセスは
中間要素へのアクセスは
最大232-1要素
O(1)
O(N)
ListList
redis python
> LPUSH 1 2 3
(integer) 3
> LRANGE piyo 0 -1
"3"
"2"
"1"
> LPOP piyo
"3"
> LRANGE piyo 0 -1
"2"
"1"
from redis import Redis
redis = Redis()
redis.lpush('piyo', 1, 2, 3)
print(redis.lrange('piyo', 0, -1))
#=> [b'3', b'2', b'1']
print(redis.lpop('piyo'))
#=> b'3'
print(redis.lrange('piyo', 0, -1))
#=> [b'2', b'1']
SetSet
Stringの集合
順序なし
重複なし
追加・削除・アクセスが平均で
最大232-1要素
O(1)
SetSet
redis python
> SADD foo 1 3 5
(integer) 3
> SMEMBERS foo
"1"
"3"
"5"
> SADD foo 1
(integer) 0
> SMEMBERS foo
"1"
"3"
"5"
from redis import Redis
redis = Redis()
redis.sadd('foo', 1, 3, 5)
print(redis.smembers('foo'))
#=>{b'3', b'5', b'1'}
redis.sadd('foo', 1)
print(redis.smembers('foo'))
#=>{b'3', b'5', b'1'}
Sorted Set (ZSet)Sorted Set (ZSet)
Stringの集合
重複なし
各メンバがScoreで順序付けされる
Scoreの取り出しは
追加は
O(1)
O(log N)
Sorted Set (ZSet)Sorted Set (ZSet)
redis python
> ZADD bar 20 ham
(integer) 1
> ZADD bar 10 egg
(integer) 1
> ZADD bar 30 spam
(integer) 1
> ZRANGE bar 0 -1 WITHSCORES
1) "egg"
2) "10"
3) "ham"
4) "20"
5) "spam"
6) "30"
from redis import Redis
redis = Redis()
redis.zadd('bar', 'ham', 20)
redis.zadd('bar', 'egg', 10)
redis.zadd('bar', 'spam', 30)
print(
redis.zrange('bar', 0, -1, withscores=
)
#=>[(b'egg', 10.0), (b'ham', 20.0), (b'spam
HashHash
StringからStringへのmap
Java: HashMap<String, String>
追加・削除・アクセスが
最大232-1ペア
O(1)
HashHash
redis python
> HSET bar 0:00 5
(integer) 1
> HGETALL bar
1) "0:00"
2) "5"
> HMSET bar 1:00 5 2:00 6
> HKEYS bar
1) "0:00"
2) "1:00"
3) "2:00"
> HGET bar 0:00
"5"
from redis import Redis
redis = Redis()
redis.hset('bar', '0:00', '5')
print(redis.hgetall('bar'))
#=>{b'0:00': b'5'}
add_dict = {
'1:00': '5',
'2:00': '6'
}
redis.hmset('bar', add_dict)
print(redis.hkeys('bar'))
#=>[b'0:00', b'1:00', b'2:00]
print(redis.hget('bar', '0:00'))
#=>b'5'
redisの使いどころredisの使いどころ
有効期限のあるデータ有効期限のあるデータ
keyに対して有効期限を設定できる
EXPIRE key seconds
keyにseconds秒の期限を設定する
EXPIREAT key timestamp
keyの期限をtimestampにする
RDBMSだと少し面倒
例えば例えば
Session ID
One Time Token
Sample CodeSample Code
from redis import Redis
from uuid import uuid4
class User:
def generate_apikey(self):
redis = Redis(host='localhost', port=6389)
if redis.exists(self.token):
return self.token
new_apikey = 'hbt-' + str(uuid4())
ttl = 10 * 60 * 60 # 10 minutes
redis.setex(new_apikey, self.name, ttl)
self.apikey = new_apikey
return self.apikey
https://github.com/web-apps-tech/hubotmaker.git
https://hubot.web-apps.tech/
リアルタイム・ランキングリアルタイム・ランキング
sorted set が活躍
zadd key score member
keyにscore点を持ったmemberを追加する
zincrby key increment member
keyのmemberにincrement点加点する
zrange key start stop
keyのstart番目からstop番目を取得する
Sample CodeSample Code
from redis import Redis
redis = Redis()
while True:
print('input member:score> ', end='')
ipt = input()
if ipt == 'show': # command 'show'
ranking = redis.zrange('ranking', 0, 5, withscores=True)[::-1]
for i, m in enumerate(ranking):
values = {
'rank': i+1,
'member': m[0].decode(),
'point': m[1]
}
print('{rank}: {member} ({point}pt)'.format(**values))
continue
member, score = args.split(':')
redis.zadd('ranking', member, int(score))
print('good bye')
https://github.com/nasa9084/samples.git
redisを使ってみるredisを使ってみる
try redistry redis
http://try.redis.io/
official docker containerofficial docker container
$ docker run redis
まとめまとめ
redisはいいぞ
あらためて まとめあらためて まとめ
in-memory KVS
永続化もできる
データ型が豊富
String, List, Set, Hash, SortedSet
SQLを書くのも面倒なデータに便利
Session IDとか
try redisなどで試せる

More Related Content

What's hot (20)

20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
 
20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions
Amazon Web Services Japan
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
Yuki Morishita
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
Amazon Web Services Japan
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
 
20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions
Amazon Web Services Japan
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
Yuki Morishita
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
Amazon Web Services Japan
 

Similar to webエンジニアのためのはじめてのredis (20)

BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
 
Redis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo SpringRedis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo Spring
Makoto Ohnami
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
decode2016
 
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)
崇之 清水
 
SQL Server 2016 R Services + Microsoft R Server 技術資料
SQL Server 2016 R Services + Microsoft R Server 技術資料SQL Server 2016 R Services + Microsoft R Server 技術資料
SQL Server 2016 R Services + Microsoft R Server 技術資料
Koichiro Sasaki
 
Ruby 2.5
Ruby 2.5Ruby 2.5
Ruby 2.5
Masahiro Tomita
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
Kohei Kadowaki
 
Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発
Hironov OKUYAMA
 
with NATS with Kubernetesの世界へ
with NATS with Kubernetesの世界へwith NATS with Kubernetesの世界へ
with NATS with Kubernetesの世界へ
Hosei uni, Faculty of Computer and Information Sciences
 
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
Hadoop / Spark Conference Japan
 
PostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSPostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVS
Noriyoshi Shinoda
 
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa
 
Processing.jsでおうちハック
Processing.jsでおうちハックProcessing.jsでおうちハック
Processing.jsでおうちハック
sonycsl
 
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
Hirotaka Kawata
 
Azure DataLake 大全
Azure DataLake 大全Azure DataLake 大全
Azure DataLake 大全
Daiyu Hatakeyama
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
 
aws mackerel twilio_handson_public
aws mackerel twilio_handson_publicaws mackerel twilio_handson_public
aws mackerel twilio_handson_public
Tomoaki Sakatoku
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
 
Redis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo SpringRedis Intro Osc2010 Tokyo Spring
Redis Intro Osc2010 Tokyo Spring
Makoto Ohnami
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
decode2016
 
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)
崇之 清水
 
SQL Server 2016 R Services + Microsoft R Server 技術資料
SQL Server 2016 R Services + Microsoft R Server 技術資料SQL Server 2016 R Services + Microsoft R Server 技術資料
SQL Server 2016 R Services + Microsoft R Server 技術資料
Koichiro Sasaki
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
 
Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発
Hironov OKUYAMA
 
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
Hadoop / Spark Conference Japan
 
PostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSPostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVS
Noriyoshi Shinoda
 
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa
 
Processing.jsでおうちハック
Processing.jsでおうちハックProcessing.jsでおうちハック
Processing.jsでおうちハック
sonycsl
 
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
Hirotaka Kawata
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
 
aws mackerel twilio_handson_public
aws mackerel twilio_handson_publicaws mackerel twilio_handson_public
aws mackerel twilio_handson_public
Tomoaki Sakatoku
 
Ad

More from nasa9084 (14)

Webエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdfWebエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdf
nasa9084
 
Webエンジニアのためのはじめてのredis
WebエンジニアのためのはじめてのredisWebエンジニアのためのはじめてのredis
Webエンジニアのためのはじめてのredis
nasa9084
 
Hubotをはじめる
HubotをはじめるHubotをはじめる
Hubotをはじめる
nasa9084
 
Web Environments
Web EnvironmentsWeb Environments
Web Environments
nasa9084
 
Efsta student session
Efsta student sessionEfsta student session
Efsta student session
nasa9084
 
LT!
LT!LT!
LT!
nasa9084
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQL
nasa9084
 
Shell入門
Shell入門Shell入門
Shell入門
nasa9084
 
DIVE INTO /regexp?/
DIVE INTO /regexp?/DIVE INTO /regexp?/
DIVE INTO /regexp?/
nasa9084
 
Flowchart w/program structure
Flowchart w/program structureFlowchart w/program structure
Flowchart w/program structure
nasa9084
 
HTTPのお話
HTTPのお話HTTPのお話
HTTPのお話
nasa9084
 
エディタ戦争のお話
エディタ戦争のお話エディタ戦争のお話
エディタ戦争のお話
nasa9084
 
Linuxディストリビューションのお話
Linuxディストリビューションのお話Linuxディストリビューションのお話
Linuxディストリビューションのお話
nasa9084
 
Introduction of Programming language
Introduction of Programming languageIntroduction of Programming language
Introduction of Programming language
nasa9084
 
Webエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdfWebエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdf
nasa9084
 
Webエンジニアのためのはじめてのredis
WebエンジニアのためのはじめてのredisWebエンジニアのためのはじめてのredis
Webエンジニアのためのはじめてのredis
nasa9084
 
Hubotをはじめる
HubotをはじめるHubotをはじめる
Hubotをはじめる
nasa9084
 
Web Environments
Web EnvironmentsWeb Environments
Web Environments
nasa9084
 
Efsta student session
Efsta student sessionEfsta student session
Efsta student session
nasa9084
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQL
nasa9084
 
DIVE INTO /regexp?/
DIVE INTO /regexp?/DIVE INTO /regexp?/
DIVE INTO /regexp?/
nasa9084
 
Flowchart w/program structure
Flowchart w/program structureFlowchart w/program structure
Flowchart w/program structure
nasa9084
 
HTTPのお話
HTTPのお話HTTPのお話
HTTPのお話
nasa9084
 
エディタ戦争のお話
エディタ戦争のお話エディタ戦争のお話
エディタ戦争のお話
nasa9084
 
Linuxディストリビューションのお話
Linuxディストリビューションのお話Linuxディストリビューションのお話
Linuxディストリビューションのお話
nasa9084
 
Introduction of Programming language
Introduction of Programming languageIntroduction of Programming language
Introduction of Programming language
nasa9084
 
Ad

Recently uploaded (8)

REVISION EXAMEN PARCIAL INGENIERIA EN PETROLEOS.pdf
REVISION EXAMEN PARCIAL INGENIERIA EN PETROLEOS.pdfREVISION EXAMEN PARCIAL INGENIERIA EN PETROLEOS.pdf
REVISION EXAMEN PARCIAL INGENIERIA EN PETROLEOS.pdf
LuisAlbertoOrtegaVeg1
 
e2zgvpmeefekeoekeokoeoekewassa4jfstg6p.pdf
e2zgvpmeefekeoekeokoeoekewassa4jfstg6p.pdfe2zgvpmeefekeoekeokoeoekewassa4jfstg6p.pdf
e2zgvpmeefekeoekeokoeoekewassa4jfstg6p.pdf
hirokiabe58
 
AIDemucs-set-up-guide-on-apple-silicon.pdf
AIDemucs-set-up-guide-on-apple-silicon.pdfAIDemucs-set-up-guide-on-apple-silicon.pdf
AIDemucs-set-up-guide-on-apple-silicon.pdf
hirokiabe58
 
2025年5月応用音響研究会「ICASSP2025における異常音検知の動向」
2025年5月応用音響研究会「ICASSP2025における異常音検知の動向」2025年5月応用音響研究会「ICASSP2025における異常音検知の動向」
2025年5月応用音響研究会「ICASSP2025における異常音検知の動向」
NU_I_TODALAB
 
wallet-standardで始めるウォレット実装 - Solana Developer Hub Online11 #SolDevHub
wallet-standardで始めるウォレット実装 - Solana Developer Hub Online11 #SolDevHubwallet-standardで始めるウォレット実装 - Solana Developer Hub Online11 #SolDevHub
wallet-standardで始めるウォレット実装 - Solana Developer Hub Online11 #SolDevHub
K Kinzal
 
2025年5月応用音響研究会「ICASSP2025における音楽情報処理の動向」
2025年5月応用音響研究会「ICASSP2025における音楽情報処理の動向」2025年5月応用音響研究会「ICASSP2025における音楽情報処理の動向」
2025年5月応用音響研究会「ICASSP2025における音楽情報処理の動向」
NU_I_TODALAB
 
情シスがRedmineでPC管理を立て直した話 2025年5月31日(土) 13:00 〜 13:45
情シスがRedmineでPC管理を立て直した話 2025年5月31日(土) 13:00 〜 13:45情シスがRedmineでPC管理を立て直した話 2025年5月31日(土) 13:00 〜 13:45
情シスがRedmineでPC管理を立て直した話 2025年5月31日(土) 13:00 〜 13:45
anubis_369
 
2025年3月音楽情報科学研究会「大局的構造生成のための小節特徴量系列モデリングに基づく階層的自動作曲」
2025年3月音楽情報科学研究会「大局的構造生成のための小節特徴量系列モデリングに基づく階層的自動作曲」2025年3月音楽情報科学研究会「大局的構造生成のための小節特徴量系列モデリングに基づく階層的自動作曲」
2025年3月音楽情報科学研究会「大局的構造生成のための小節特徴量系列モデリングに基づく階層的自動作曲」
NU_I_TODALAB
 
REVISION EXAMEN PARCIAL INGENIERIA EN PETROLEOS.pdf
REVISION EXAMEN PARCIAL INGENIERIA EN PETROLEOS.pdfREVISION EXAMEN PARCIAL INGENIERIA EN PETROLEOS.pdf
REVISION EXAMEN PARCIAL INGENIERIA EN PETROLEOS.pdf
LuisAlbertoOrtegaVeg1
 
e2zgvpmeefekeoekeokoeoekewassa4jfstg6p.pdf
e2zgvpmeefekeoekeokoeoekewassa4jfstg6p.pdfe2zgvpmeefekeoekeokoeoekewassa4jfstg6p.pdf
e2zgvpmeefekeoekeokoeoekewassa4jfstg6p.pdf
hirokiabe58
 
AIDemucs-set-up-guide-on-apple-silicon.pdf
AIDemucs-set-up-guide-on-apple-silicon.pdfAIDemucs-set-up-guide-on-apple-silicon.pdf
AIDemucs-set-up-guide-on-apple-silicon.pdf
hirokiabe58
 
2025年5月応用音響研究会「ICASSP2025における異常音検知の動向」
2025年5月応用音響研究会「ICASSP2025における異常音検知の動向」2025年5月応用音響研究会「ICASSP2025における異常音検知の動向」
2025年5月応用音響研究会「ICASSP2025における異常音検知の動向」
NU_I_TODALAB
 
wallet-standardで始めるウォレット実装 - Solana Developer Hub Online11 #SolDevHub
wallet-standardで始めるウォレット実装 - Solana Developer Hub Online11 #SolDevHubwallet-standardで始めるウォレット実装 - Solana Developer Hub Online11 #SolDevHub
wallet-standardで始めるウォレット実装 - Solana Developer Hub Online11 #SolDevHub
K Kinzal
 
2025年5月応用音響研究会「ICASSP2025における音楽情報処理の動向」
2025年5月応用音響研究会「ICASSP2025における音楽情報処理の動向」2025年5月応用音響研究会「ICASSP2025における音楽情報処理の動向」
2025年5月応用音響研究会「ICASSP2025における音楽情報処理の動向」
NU_I_TODALAB
 
情シスがRedmineでPC管理を立て直した話 2025年5月31日(土) 13:00 〜 13:45
情シスがRedmineでPC管理を立て直した話 2025年5月31日(土) 13:00 〜 13:45情シスがRedmineでPC管理を立て直した話 2025年5月31日(土) 13:00 〜 13:45
情シスがRedmineでPC管理を立て直した話 2025年5月31日(土) 13:00 〜 13:45
anubis_369
 
2025年3月音楽情報科学研究会「大局的構造生成のための小節特徴量系列モデリングに基づく階層的自動作曲」
2025年3月音楽情報科学研究会「大局的構造生成のための小節特徴量系列モデリングに基づく階層的自動作曲」2025年3月音楽情報科学研究会「大局的構造生成のための小節特徴量系列モデリングに基づく階層的自動作曲」
2025年3月音楽情報科学研究会「大局的構造生成のための小節特徴量系列モデリングに基づく階層的自動作曲」
NU_I_TODALAB
 

webエンジニアのためのはじめてのredis