SlideShare a Scribd company logo
1 of 55
Apache CouchDB再入門 2010/04/23 id: yssk22 (CouchDB-JP)
自己紹介 Yohei Sasaki (yssk22) developerWorks のCouchDB連載記事 CouchDB基礎文法最速マスター CouchDB-JP People on the Couch: UTC+9 今年から某ECサイトの開発
はじめに / お願い 質問は随時... というのは大変なのでハッシュタグ #bpstudyを添えてつぶやいてください。 つぶやきに 半角?または全角? をいれていただければ回答します。 ハンズオン用URL http://bit.ly/6rXbn5
目次 CouchDBとは何か? HTTP API MapReduce CouchDB Application
CouchDBとは何か? まずは思想的な話から...
CouchDBとは何か? ,[object Object]
Apache プロジェクト
HTTP によるアクセス
MapReduceでクエリができる
Erlangで実装されたデータベース
Lotus Notes みたいなレプリケーション
すべて正しいけれど、その前にもっと本質的な話を...,[object Object]
データモデルに対するアプローチ Webそのもの。 WWW はデータベース WWW はドキュメント指向データベース Django may be built for the Web, but CouchDB is built of the Web. ,[object Object],Document Oriented Database Webで実現する文書そのものを格納するためのデータベース。
例:請求書 請求元: hogehoge株式会社 請求先: 郵便番号: 123-4567 住所: 神奈川県川崎市... 氏名: 佐々木庸平 請求金額: 2,345 明細: 商品数量金額小計AAAA		1	1,980	1,980 BBBB		3	1,210	3,630 ... CouchDBにおける1つの保存単位- ドキュメント
例:請求書 (RDBの場合) 請求元: 1 請求先: 3 請求金額: SUM(小計) 明細 商品数量金額小計1	1	1.P	1 * 1.P 2	3	2.P	3 * 2.P 1, hogehoge株式会社 3, 123-4567, 神奈川県..., 佐々木庸平 10, 1, 1 1, AAAA, 1,980 10, 2, 3 2, BBBB, 1,210 正規化!正規化!正規化!
正規化とドキュメント指向の狭間 ,[object Object]
例えば、請求書の発行後に住所が変わったら?
顧客マスタ上の住所を変更する
あれ? 昔の請求書の住所までかわっちゃったんだけど...
現実世界の"ドキュメント"は整合性を保たないほうがよい場合も。
現実世界のとおりであることが当たり前 = Relax
Web を作るイメージでデザインするとしっくりくる。1 URI = 1 ドキュメント でも、マスタ管理はしたい。
ドキュメント指向的アプローチ 請求元: hogehoge株式会社 請求先: 郵便番号: 123-4567 住所: 神奈川県川崎市... 氏名: 佐々木庸平 請求金額: 2,345 明細: 商品数量金額小計AAAA		1	1,980	1,980 BBBB		3	1,210	3,630 ... hogehoge株式会社 佐々木庸平 AAAA, 1,980 BBBB, 1,210 台帳から書き写す、という事務処理
データモデルを定義するタイミング ,[object Object]
最初に蓄積すべきデータをモデル化しておく
業務分析
エンティティを切り出し
正規化
業務の決まりを事前定義
CouchDB
随時やる業務の決まりを随時定義 ,[object Object],[object Object]
通勤経路の稼働率 稼働率 24min/30min : 80% 具体的なサービスの例: gmail, google reader, twitter, hatena.ne.jp, ... サービス提供側としては100%を目指しているのを十分承知しているものの...
レプリケーションによる可用性の確保ができるかもしれない 1台になっても、 N台になっても対応できるストレージシステム App HTTP App
ここまでのまとめ CouchDB = Relax 当たり前のことを当たり前に。 データモデルに対するアプローチ ドキュメント指向 スケールに対するアプローチ スケールダウン レプリケーション
HTTP API 実際の使い方
CouchDBの使い方 HTTP で使う 使い方 = Web で当たり前の使い方 GET 		: ドキュメントを取得する POST 	: ドキュメントを作成する PUT 		: ドキュメントを更新する DELETE 	: ドキュメントを削除する Web の常識をしっていれば、どの言語/ランタイムでもCouchDBは簡単 「Webを支える技術」参照
ドキュメントの表現方法 JSONで記述 すべてのドキュメントは一意に識別するためのIDとバージョン番号REVをもつ 他は自由 {  "_id" : "請求番号XXXXYYYY", "_rev" : "3-ZZZZZMMMM""発行者": "hogehoge株式会社" "請求先": { "郵便番号": 123-4567"    "住所": "神奈川県川崎市..." "氏名": "佐々木庸平" }, "請求金額": 12345 "明細": [    { "商品: "AAAA", "数量": 1, "単価": 1980, "小計": 1980 },    ...    ] }
Futon による確認 GUI Tool http://localhost:5984/_utils/ Firefox + Firebug を使うのがbetter デモ
補足: リビジョン管理 CouchDBはMVCCによりディスクアクセスを行う データの更新操作(PUT)は、論理更新であり物理的には追加が行われる。 _rev には"更新回数-ドキュメントのMD5" が格納されている _rev を使った Optimistic Lock により更新の衝突を検出する Compaction という操作により、古いリビジョンは削除される
HTTP API 一覧 後でリファレンス的に利用できるようにSphinx Document にまとめみました http://bit.ly/b008oP HTTPメソッドは省略 慣習に従えばよいので。 XXを実行する 系はPOST ハンズオンで curl を使って試します。
HTTP Header も活用しよう Request X-Couch-Full-Commit true レスポンス前に確実にディスクに書き込む 帳票などのドキュメントに使う false ディスクに書き込む前に HTTP 201 を返す ポストイット的なドキュメントに使う Response ETag ドキュメントの _rev と同じ値が入る JSONのparseをしなくても_revを入手できる
そのほかの主要機能 レプリケーション 二つのデータベースの同期をとる P2P モデルで、双方向に同期をとることができる。 半自動実行なので、ネットワークが切れても問題がない。 添付ファイル ドキュメントにはバイナリファイルを添付できる。 メディア+メタデータ管理とかに利用可能
各種言語からの利用 HTTPライブラリとJSONライブラリが必要十分条件 以下独断と偏見によるおすすめ JavaScript /_utils/script/jquery.couch.jsが標準添付 Ruby couchrest Python couchdb-kit python-couchdb Java couchdb4j
MapReduce データ処理のための手法...
デザインドキュメント デザインドキュメント CouchDBに格納されるアプリケーションを定義したドキュメント ビュー デザインドキュメントの中に定義するMapReduce関数を記述し、インデックスを作成する機能
デザインドキュメントの構成 {   "_id" : "_design/app",   "_rev" : "3-XXXXXX",   "language" : "text/javascript",   "views" : {      "count_by_name" : {         "map" : "function(doc){ ... }",       "reduce" : "function(k,v,r){ ... }"      }   },   "shows" : ... "lists" : ...} これ
ビューの用途 基本 ドキュメントのフィルタリング 並び替え 内部的にはインデックスを作る作業 ドキュメントを効率的に見つけるために! 様々な計算 SUM  とか。 応用 (データ構造の)フォーマット "正規化", "非正規化" も含めて 覚えておくべきこと: クエリではありません。 "クエリ"の機能 ... URLにクエリ文字列っていうものがありますよね?
MapReduce Map 1つのドキュメントから別のデータを作成する。 別のデータ : Key-Value の組み合わせ Reduce Keyが同じデータの集合から、データを集約して1つの値を計算する。 reduce フェーズと rereduce フェーズがある
サンプルデータ ハンズオンでやります。 http://search.twitter.com/?q=%23bpstudy  { "_id": "479ce1c32f79d7864730ecbae60d6610",   "_rev": "1-f45bf5f71b84692d0acc4b196849c2d7","iso_language_code": "ja",   "type": "tweets",   "keyword": "#bpstudy", "text": "1時間遅れたけど終わった。これであとは資料の残り半分を完成させればOK #bpstudy (といってハッシュタグのテスト)",   "created_at": "Sat, 17 Apr 2010 19:07:16 +0000", "profile_image_url": "http://a3.twimg.com/profile_images/427387065/speedland_normal.png", "source": "<ahref="http://sites.google.com/site/yorufukurou/" rel="nofollow">YoruFukurou</a>", "from_user": "yssk22", "from_user_id": 3749810, "to_user_id": null,   "geo": null,   "id": 12356675615,   "metadata": {  "result_type": "recent"   }}
map 関数 の書き方 function(doc){   emit(key, value);emit(key, value);   ...} emit(key, value)
発言者ごとにemitする function(doc){   function format_date() { ... }; // 省略   if( doc.type == ''tweets'' ){var t = format_date(t);      emit([doc.from_user, t],              null);   }} emit(key, value) で出力を定義 key はobject以外の任意の値 value は null でもよい。 undefined はJSONの仕様外なのでだめ
結果 /{db}/_design/{app} /_view/{viewname} で確認可能 {"total_rows":169,"offset":0,"rows":[ {"id":"...","key":["AE35","2010/04/02 01:36"],"value":null}, {"id":"...","key":["albuk","2010/04/01 15:36"],"value":null}, {"id":"...","key":["ali_lin5757","2010/04/05 20:02"],"value":null}, {"id":"...","key":["Amoreeeee","2010/04/06 15:45"],"value":null}, {"id":"...","key":["aodag","2010/04/02 01:57"],"value":null}, ... ]}
ビューに対してクエリをかける よく使うのは範囲指定 startkey=xxx&endkey=yyyy 特定の発言者だけ時系列にとりだす startkey=["yssk22"]&endkey=["yssk22", "9999"] ["yssk22"] より大きくて、["yssk22", "9999"] より小さいキーを抽出 配列は要素ごとに比較して順序づけ 文字列の最大値は 9999
CouchDBのMapReduceの特徴 B+Tree構造でディスクに結果を保持 インクリメンタルに実行される 一度計算した結果は、元のドキュメントが更新されない限りキャッシュが保持される。
CouchDBのMapReduceの特徴 B+Tree構造でディスクに結果を保持 インクリメンタルに実行される 一度計算した結果は、元のドキュメントが更新されない限りキャッシュが保持される。 オンラインシステムで使えるMapReduceの仕組み 再計算する 再計算しない 再計算しない 再計算しない 更新

More Related Content

What's hot

initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
Takashi Takizawa
 

What's hot (20)

20220314 Amazon Linux2022 をさわってみた
20220314 Amazon Linux2022 をさわってみた20220314 Amazon Linux2022 をさわってみた
20220314 Amazon Linux2022 をさわってみた
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
 
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
Azure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロAzure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロ
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 

Similar to BPStudy32 CouchDB 再入門

RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
 
CommunityOpenDay2012名古屋セッション資料
CommunityOpenDay2012名古屋セッション資料CommunityOpenDay2012名古屋セッション資料
CommunityOpenDay2012名古屋セッション資料
Shinichiro Isago
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
 

Similar to BPStudy32 CouchDB 再入門 (20)

クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
 
Scala on Hadoop
Scala on HadoopScala on Hadoop
Scala on Hadoop
 
WDD2012_SC-004
WDD2012_SC-004WDD2012_SC-004
WDD2012_SC-004
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for Hadoop
 
Inside of Asakusa DSL
Inside of Asakusa DSLInside of Asakusa DSL
Inside of Asakusa DSL
 
MapReduce入門
MapReduce入門MapReduce入門
MapReduce入門
 
Hadoop jobbuilder
Hadoop jobbuilderHadoop jobbuilder
Hadoop jobbuilder
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
 
CommunityOpenDay2012名古屋セッション資料
CommunityOpenDay2012名古屋セッション資料CommunityOpenDay2012名古屋セッション資料
CommunityOpenDay2012名古屋セッション資料
 
Windows Azure Community Open Day 2012
Windows Azure   Community Open Day 2012Windows Azure   Community Open Day 2012
Windows Azure Community Open Day 2012
 
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)
 
Googleの基盤クローン Hadoopについて
Googleの基盤クローン HadoopについてGoogleの基盤クローン Hadoopについて
Googleの基盤クローン Hadoopについて
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
MongoDB
MongoDBMongoDB
MongoDB
 
Tokyo r 25_lt_isobe
Tokyo r 25_lt_isobeTokyo r 25_lt_isobe
Tokyo r 25_lt_isobe
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
 

More from Yohei Sasaki

More from Yohei Sasaki (18)

20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes
 
CloudFoundry@home
CloudFoundry@homeCloudFoundry@home
CloudFoundry@home
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundry
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundry
 
membase
membasemembase
membase
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
 
CouchDB
CouchDBCouchDB
CouchDB
 
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
 
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4
 
Media On Couch
Media On CouchMedia On Couch
Media On Couch
 
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)
CouchDB+OpenSocial - OSC 2009/Fall Tokyo (En)
 
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall TokyoCouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
 
前回のまとめ
前回のまとめ前回のまとめ
前回のまとめ
 
Finding Your Data with Views
Finding Your Data with ViewsFinding Your Data with Views
Finding Your Data with Views
 
Why CouchDB
Why CouchDBWhy CouchDB
Why CouchDB
 
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
 
Couch Db.0.9.0.Pub
Couch Db.0.9.0.PubCouch Db.0.9.0.Pub
Couch Db.0.9.0.Pub
 

Recently uploaded

Recently uploaded (10)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

BPStudy32 CouchDB 再入門