Slide 1

Slide 1 text

&MBTUJDTFBSDI೔ຊޠεΩʔϚϨ ε؀ڥߏஙͱɺ͍ͭͰʹଟݴޠରԠ     ୈճ ษڧձ

Slide 2

Slide 2 text

ࣗݾ঺հ ໦ށࠃ඙ ,6/*)*,0,*%0 ! φϨοδϫʔΫεגࣜձࣾ φϨοδϫʔΫεגࣜձࣾͰݕࡧˍΫϥ΢υࣄۀؔ࿈ͷϚωʔδϝϯτͯ͠·͢ɻ &MBTUJDTFBSDIؔ࿈Ͱ͸ɻɻ ϒϩάʮ)FMMP&MBTUJDTFBSDIʯͱ͔ &MBTUJDTFBSDIBTBTFSWJDFʮ4JCB γʔό ʯͷ اըɾӡӦͯ͠·͢ɻ “Hello! Elasticsearch” “ݕࡧBaaS” ͖ͭͮ͸8FCͰˠ

Slide 3

Slide 3 text

Ϛοϐϯάఆٛ ΊΜͲ͘͘͞ͳ͍Ͱ͔͢ʁ Ϛοϐϯάఆٛͱ໨త ͪΐͬͱͨ͠σʔλͰ΋ઃܭඞཁͩ͠ɺ ਓʹΑͬͯશવҧ͏ઃܭʹͳͬͪΌ͏͠ɻɻ

Slide 4

Slide 4 text

Ϛοϐϯάఆٛʹ͸ʮ໨తʯ͕͋Δ ㅟ ㅟ Ϛοϐϯάఆٛͱ໨త ͦΕ͸Θ͔Δ͚Ͳɻɻ

Slide 5

Slide 5 text

Ϛοϐϯάఆٛͱ໨త ̍ ̎ ̏ ̐ ̑ ̒ ద߹཰Λ ޲্͍ͨ͠ ࠶ݱ཰Λ ޲্͍ͨ͠ ਖ਼֬ʹ ߜΓࠐΈ͍ͨ ूܭ͍ͨ͠ ද͍ࣔͨ͠ BOENPSF ͔͠΋ϑΟʔϧυຖʹɻɻɻ ߟ͑Δ͜ͱ͕͍ͬͺ͍ʂ

Slide 6

Slide 6 text

Ϛοϐϯάఆٛͱ໨త ̍ ̎ ̏ ̐ ̑ ̒ ׬શҰகͰ ݕࡧɾूܭ͍ͨ͠ ʮ౎ʯʮ෎ʯʮݝʯ Λলུͯ͠ݕࡧ͍ͨ͠ ϤϛͰݕࡧ͍ͨ͠ ౎ಓ෎ݝίʔυ ॱͰιʔτ͍ͨ͠ ʮؔ౦ʯͳͲ ผ໊Ͱݕࡧɾूܭ͍ͨ͠ BOENPSFʜ ྫ͑͹ɺ౎ಓ෎ݝ໊ϑΟʔϧυ̍ͭͱͬͯ΋

Slide 7

Slide 7 text

Ϛοϐϯάఆٛͱ໨త ঢ়گʹΑͬͯมԽ͢Δʮ໨తʯ ໨తʹΑͬͯมԽ͢ΔʮϚοϐϯάఆٛʯ Ϛοϐϯάͷઃܭ͸ॏཁ͚ͩͲʜ ʮ໨తʯͷมԽΛ૝ఆͨ͠ઃܭʮܦݧʯ ݕࡧΤϯδϯͷςΫϊϩδʔͷཧղʮεΩϧʯ ͕ඞཁͬͯ͜ͱͳ͔ʁ ! ຖճઃܭ͢ΔͷΊΜͲ͏ͩ͠ɺٕज़ऀҭͯΔͷ΋େม

Slide 8

Slide 8 text

Ϛοϐϯάఆٛͱ໨త ຖճϚοϐϯάͷઃܭ͠ͳͯ͘΋ ಉ͡ઃܭࢥ૝ͰࣗಈతʹϚοϐϯάఆ͍ٛͨ͠ʂ ಉ͡ࢥ͍ͷਓ͸͖ͬͱ͍Δ͸ͣʂ ຖճʮFMBTUJDTFBSDINBQQJOHʯͰ άάΔͷݮΒ͍ͨͬ͢͠ɻɻ

Slide 9

Slide 9 text

Ϛοϐϯάఆٛͱ໨త ͦͷ࢓૊Έ ͢Ͱʹ&MBTUJDTFBSDIʹ͋Γ·͢ʂ

Slide 10

Slide 10 text

%FNP %FNP

Slide 11

Slide 11 text

%FNP DELETE /myindex! ! PUT /myindex/mytype/1! ! {! "title": "Elasticsearch ಛ௃·ͱΊ",! "description": "Elasticsearch Features — ओʹγεςϜΛத৺ͱͨ͠ಛ௃·ͱΊ",! "author": "Kunihiko Kido",! "link": "https://medium.com/hello-elasticsearch/elasticsearch-500996e47c70",! "tags": ["Elasticsearch"],! "pubDate": "2014-03-12T11:09"! } ͍ͭ΋௨Γɺ͜Μͳײ͡Ͱσʔλొ࿥͢Δ͚ͩͰɺ ϑΟʔϧυຖʹඞཁͳϚοϐϯάఆ͕ٛग़དྷ্͕Δ

Slide 12

Slide 12 text

%FNP {! ...! "title" : {! "type" : "string",! "fields" : {! "keyword" : {! "type" : "string",! "analyzer" : "keyword_analyzer"! },! "raw" : {! "type" : "string",! "index" : "not_analyzed"! },! "substring" : {! "type" : "string",! "analyzer" : "cjk"! },! "yomi" : {! "type" : "string",! "analyzer" : "katakana"! }! }! }! ...! }! UJUMFϑΟʔϧυͷϚοϐϯάఆٛ ˞ಈతʹ࡞੒͞ΕͨϚοϐϯάఆٛ

Slide 13

Slide 13 text

%FNP {! ...! "description" : {! "type" : "string",! "fields" : {! "substring" : {! "type" : "string",! "analyzer" : "cjk"! }! }! },! ...! } ˞ಈతʹ࡞੒͞ΕͨϚοϐϯάఆٛ EFTDSJQUJPOϑΟʔϧυͷϚοϐϯάఆٛ

Slide 14

Slide 14 text

%FNP {! ...! "author" : {! "type" : "string",! "fields" : {! "keyword" : {! "type" : "string",! "analyzer" : "keyword_analyzer"! },! "raw" : {! "type" : "string",! "index" : "not_analyzed"! },! "substring" : {! "type" : "string",! "analyzer" : "cjk"! },! "yomi" : {! "type" : "string",! "analyzer" : "katakana"! }! }! }! ...! }! BVUIPSϑΟʔϧυͷϚοϐϯάఆٛ ˞ಈతʹ࡞੒͞ΕͨϚοϐϯάఆٛ

Slide 15

Slide 15 text

%FNP {! ...! "link" : {! "type" : "string",! "index" : "not_analyzed",! "fields" : {! "domain" : {! "type" : "string",! "analyzer" : "domain_analyzer"! },! "keyword" : {! "type" : "string",! "analyzer" : "keyword_analyzer"! },! "substring" : {! "type" : "string",! "analyzer" : "standard"! }! }! },! ...! } ˞ಈతʹ࡞੒͞ΕͨϚοϐϯάఆٛ MJOLϑΟʔϧυͷϚοϐϯάఆٛ

Slide 16

Slide 16 text

%FNP {! ...! "tags" : {! "type" : "string",! "fields" : {! "keyword" : {! "type" : "string",! "analyzer" : "keyword_analyzer"! },! "raw" : {! "type" : "string",! "index" : "not_analyzed"! },! "substring" : {! "type" : "string",! "analyzer" : "cjk"! }! }! },! ...! }! ˞ಈతʹ࡞੒͞ΕͨϚοϐϯάఆٛ UBHTϑΟʔϧυͷϚοϐϯάఆٛ

Slide 17

Slide 17 text

%FNP ϚοϐϯάఆٛͰ໌ࣔతʹΞφϥΠβʔΛࢦఆ͠ͳ͍ͱ͍͏ҙຯ ㅟ ㅟ ㅟ ㅟ ㅟ TUBOEBSEΛ࢖͏ͱݴ͏ҙຯͰ͸ͳ͍ͷͰ஫ҙ ଟݴޠରԠ͸ʮσϑΥϧτͷΞφϥΠβʔʯΛ࢖͏

Slide 18

Slide 18 text

PUT /myindex/mytype/1! ! {! "title": "Elasticsearch Overview",! "description": "Elasticsearch Features — System Overview",! "author": "Kunihiko Kido",! "link": "https://medium.com/hello-elasticsearch/elasticsearch-500996e47c70",! "tags": ["Elasticsearch"],! "pubDate": “2014-03-12T11:09”,! "language": “en",! } %FNP ʮӳޠʯͷจষͱͯ͠ΠϯσοΫε͍ͨ͠৔߹ ͜Ε͚ͩ

Slide 19

Slide 19 text

PUT /myindex/mytype/1! ! {! "title": "Elasticsearch ѐਃ",! "description": "Elasticsearch Features — दझమ ѐਃ",! "author": "Kunihiko Kido",! "link": "https://medium.com/hello-elasticsearch/elasticsearch-500996e47c70",! "tags": ["Elasticsearch"],! "pubDate": “2014-03-12T11:09”,! "language": “ko",! } %FNP ʮؖࠃޠʯͷจষͱͯ͠ΠϯσοΫε͍ͨ͠৔߹ ͍͕͍ͱ؆୯ʂ

Slide 20

Slide 20 text

PUT /myindex/mytype/1! ! {! "title": "Elasticsearch Überblick",! "description": "Elasticsearch Features — Systemübersicht",! "author": "Kunihiko Kido",! "link": "https://medium.com/hello-elasticsearch/elasticsearch-500996e47c70",! "tags": ["Elasticsearch"],! "pubDate": “2014-03-12T11:09”,! "language": “de",! } %FNP ʮυΠπޠʯͷจষͱͯ͠ΠϯσοΫε͍ͨ͠৔߹ ศར͔΋ʂ

Slide 21

Slide 21 text

%FNP ͋ͱ͸ɺଞͷϝϯόʔʹ ʮਖ਼֬ʹߜΓࠐΈ͍ͨ࣌͸ɺ SBXϑΟʔϧυ࢖͏ʯ ͱ͔ɺ ʮݕࡧ࿙ΕΛগͳ͍ͨ͘͠৔߹͸ɺ TVCTUSJOH࢖͏ʯ ͱ͔ڞ༗͢Ε͹ྑ͍͔ͳʁ

Slide 22

Slide 22 text

ϧʔϧԽͱద༻ͷࣗಈԽ ϧʔϧԽͱద༻ͷࣗಈԽ

Slide 23

Slide 23 text

ϧʔϧԽͱద༻ͷࣗಈԽ EZOBNJDUFNQMBUFT ʮϧʔϧԽʯ ϑΟʔϧυ໊ͷύλʔϯ΍ܕͷछྨʹΑͬͯ ϑΟʔϧυͷఆٛΛϧʔϧԽ͢Δ࢓૊Έ JOEFYUFNQMBUF ʮద༻ͷࣗಈԽʯ ΠϯσοΫε࡞੒࣌ʹద༻͢ΔϧʔϧΛఆٛ ͓͚ͯ͠Δ࢓૊Έ %FNPͷ಺༰Λ࣮ݱ͍ͯ͠Δओͳ࢓૊Έ

Slide 24

Slide 24 text

EZOBNJDUFNQMBUFT EZOBNJDUFNQMBUFT

Slide 25

Slide 25 text

EZOBNJDUFNQMBUFT ʲEZOBNJDUFNQMBUFTʳͱ͸ ϑΟʔϧυ໊ͷύλʔϯɾܕຖʹϚοϐϯάఆٛͷς ϯϓϨʔτ༻ҙ͓͚ͯ͠Δ࢓૊Έ

Slide 26

Slide 26 text

EZOBNJDUFNQMBUFT {! ...! "dynamic_templates": [! {! "my_field": {! "match": "*", /* ᶃ ϑΟʔϧυ໊ͷύλʔϯ */! "match_pattern": "regex", /* ᶄ matchͷϚονϯάํࣜ ʢলུՄʣ*/! "match_mapping_type": "string", /* ᶅ JSONϑΥʔϚοτͷλΠϓ */! "mapping": {...} /* ᶆ Ϛοϐϯάఆٛ */! }! },! ...(ෳ਺ఆٛͰ͖Δ)! ],! ...! }! ! جຊతͳઃఆ

Slide 27

Slide 27 text

EZOBNJDUFNQMBUFT {! "url_fields": {! "match": ".*url|.*link",! "match_pattern": "regex",! "match_mapping_type": "string",! "mapping": {! "type": "string",! "index": "not_analyzed",! "fields": {! "keyword": {! "type": "string",! "analyzer": "keyword_analyzer"! },! "substring": {! "type": "string",! "analyzer": "standard"! },! "domain": {! "type": "string",! "analyzer": "domain_analyzer"! }! }! }! }! }! ྫʣ63-ϑΟʔϧυ޲͚

Slide 28

Slide 28 text

EZOBNJDUFNQMBUFT {! "special_string_fields": {! "match": ".*title.*|.*name.*|.*author.*",! "match_pattern": "regex",! "match_mapping_type": "string",! "mapping": {! "type": "string",! "fields": {! "raw": {! "type": "string",! "index": "not_analyzed"! },! "keyword": {! "type": "string",! "analyzer": "keyword_analyzer"! },! "substring": {! "type": "string",! "analyzer": "ja-substring"! },! "yomi": {! "type": "string",! "analyzer": "katakana"! }! }! }! }! } ྫʣ໊শ౳ॏཁͳϑΟʔϧυ

Slide 29

Slide 29 text

EZOBNJDUFNQMBUFT {! "long_string_fields": {! "match": ".*message.*|.*content.*|.*description.*| .*text.*|.*body.*|.*note.*|.*memo.*",! "match_pattern": "regex",! "match_mapping_type": "string",! "mapping": {! "type": "string",! "fields": {! "substring": {! "type": "string",! "analyzer": "ja-substring"! }! }! }! }! } ྫʣ௕จϑΟʔϧυ

Slide 30

Slide 30 text

EZOBNJDUFNQMBUFT {! "short_string_fields": {! "match": "*",! "match_mapping_type": "string",! "mapping": {! "type": "string",! "fields": {! "raw": {! "type": "string",! "index": "not_analyzed"! },! "keyword": {! "type": "string",! "analyzer": "keyword_analyzer"! },! "substring": {! "type": "string",! "analyzer": "ja-substring"! }! }! }! }! } ྫʣͦͷଞϑΟʔϧυ

Slide 31

Slide 31 text

EZOBNJDUFNQMBUFT {! ...! "dynamic_templates": [! {! “url_field": {…}! },! {! "special_string_fields": {…}! },! {! "long_string_fields": {…}! },! {! "short_string_fields": {…}! },! ],! ...! } ࠷ॳʹύλʔϯʹϚονͨ͠Ϛο ϐϯά͕ఆٛ͞ΕΔ

Slide 32

Slide 32 text

JOEFYUFNQMBUF JOEFYUFNQMBUF

Slide 33

Slide 33 text

JOEFYUFNQMBUF ʲJOEFYUFNQMBUFʳͱ͸ʁ ΠϯσοΫε໊ͷύλʔϯຖʹΠϯσοΫεఆٛͷς ϯϓϨʔτΛ༻ҙ͓͚ͯ͠Δ࢓૊Έ

Slide 34

Slide 34 text

JOEFYUFNQMBUF DPOpHUFNQMBUFT഑Լʹอଘ͢Δ͚ͩͰ४උ0, ˝FMBTUJDTFBSDI ˝DPOpH ˝UFNQMBUFT CBTFKTPO DVTUPN@BOBMZ[FSTKTPO KBQBOFTF@BOBMZ[FSTKTPO MBOHVBHF@BOBMZ[FSTKTPO TUSJOH@pFMETKTPO %FNPͰ࢖͍ͬͯΔJOEFY UFNQMBUFϑΝΠϧͨͪ ˡ ɾϊʔυͷ࠶ىಈ͸ඞཁͳ͍ ɾ৽نͰ࡞੒ͨ͠ΠϯσοΫεͷΈʹద༻͞ΕΔ ɾςϯϓϨʔτ͸ෳ਺࡞ΕΔ ɾ"1*Ͱ΋ઃఆͰ͖Δ ɾEZOBNJDUFNQMBUFTͷఆٛ΋ؚΊΒΕΔ

Slide 35

Slide 35 text

JOEFYUFNQMBUF {! "my_template":{ /* ςϯϓϨʔτͷ໊લ */! "template": "*", /* ςϯϓϨʔτΛద༻͢ΔΠϯσΫε໊ͷύλʔϯ */! "order": 0, /* ςϯϓϨʔτΛద༻͢Δ༏ઌॱҐ */! "settings": {...}, /* γϟʔυͷ਺ͱ͔ɺAnalysis ͷઃఆ౳ΠϯσοΫεఆٛʹؔΘΔઃఆ */! "mappings": {...} /* Ϛοϐϯάఆٛͷઃఆɻdynamic templates͸͜͜Ͱઃఆ */! . . .! }! }! ! ! ! ! ! ϑΝΠϧ໊ͱςϯϓϨʔτ໊͸ͱΓ͋͑ͣಉ͡ʹ͓͚ͯ͠͹ྑ͍͔ͳʁ جຊతͳઃఆ

Slide 36

Slide 36 text

JOEFYUFNQMBUF {! "base": {! "template": "*",! "order": 1,! "mappings": {! "_default_": {! "_timestamp" : {! "enabled" : true,! "store" : true! },! "_analyzer": {! "path": "language"! },! "_id": {! "path": "id"! },! "_source": {! "excludes" : ["attachment_file"]! }! }! }! }! }! UFNQMBUFTCBTFKTPO σϑΥϧτͷΞφϥΠβʔมߋ͢ΔͨΊͷMBOHVBHFϑΟʔϧυͷఆٛͳͲ

Slide 37

Slide 37 text

JOEFYUFNQMBUF {! "language_analyzers": {! "template": "*",! "order": 2,! "settings": {! "analysis": {! "filter": {! "arabic_stop": {! "type": "stop",! "stopwords": "_arabic_"! },! "arabic_stemmer": {! "type": "stemmer",! "language": "arabic"! },! "armenian_stop": {! "type": "stop",! "stopwords": "_armenian_"! },! "armenian_stemmer": {! "type": "stemmer",! "language": "armenian"! },! "basque_stop": {! "type": "stop",! "stopwords": "_basque_"! },! "basque_stemmer": {! "type": "stemmer",! "language": "basque"! },! "brazilian_stop": {! "type": "stop",! "stopwords": "_brazilian_"! },! "brazilian_stemmer": {! "type": "stemmer",! "language": "brazilian"! },! "bulgarian_stop": {! "type": "stop",! "stopwords": "_bulgarian_"! },! "bulgarian_stemmer": {! "type": "stemmer",! "language": "bulgarian"! },! "catalan_elision": {! UFNQMBUFTMBOHVBHF@BOBMZ[FSTKTPO ֤ࠃݴޠຖͷϑΟϧλʔ΍ΞφϥΠβʔͷఆٛͳͲ

Slide 38

Slide 38 text

JOEFYUFNQMBUF {! "japanese_analyzers": {! "template": "*",! "order": 2,! "settings": {! "analysis": {! "char_filter": {! "japanese_normalization": {! "type": "kuromoji_iteration_mark",! "normalize_kanji": true,! "normalize_kana": true! }! },! "filter": {! "romaji_readingform": {! "type": "kuromoji_readingform",! "use_romaji": true! },! "katakana_readingform": {! "type": "kuromoji_readingform",! "use_romaji": false! },! "katakana_stemmer": {! "type": "kuromoji_stemmer",! "minimum_length": 4! },! "japanese_stop": {! "type": "kuromoji_part_of_speech"! }! },! "tokenizer": {! "japanese_tokenizer": {! "type": "kuromoji_tokenizer",! "mode": "search"! }! },! "analyzer": {! "default": {! "alias": ["japanese", "ja"],! "type": "custom",! "char_filter": [! "html_strip",! "japanese_normalization"! ],! "tokenizer": "japanese_tokenizer",! "filter": [! "cjk_width",! "lowercase",! UFNQMBUFTKBQBOFTF@BOBMZ[FSTKTPO ೔ຊޠؔ࿈ͷϑΟϧλʔ΍ΞφϥΠβʔͷఆٛͳͲ

Slide 39

Slide 39 text

JOEFYUFNQMBUF {! "custom_analyzers": {! "template": "*",! "order": 2,! "settings": {! "analysis": {! "filter": {! "domain_extractor" : {! "type" : "pattern_replace",! "preserve_original": false,! "pattern" : "https?://([^/]+).*",! "replacement": "$1"! }! },! "tokenizer": {! "comma_tokenizer": {! "type": "pattern",! "pattern":"[,ɺ]+"! }! },! "analyzer": {! "domain_analyzer" : {! "alias": ["domain"],! "tokenizer" : "uax_url_email",! "filter" : [ "domain_extractor", "lowercase", "unique" ]! },! "comma_analyzer":{! "alias": ["comma"],! "type": "custom",! "tokenizer": "comma_tokenizer",! "filter": ["cjk_width", "lowercase", "trim", "unique"]! },! "keyword_analyzer": {! "type": "custom",! "tokenizer": "keyword",! "filter": ["cjk_width", "lowercase", "trim"]! }! }! }! }! }! } UFNQMBUFTDVTUPN@BOBMZ[FSTKTPO 63-͔ΒυϝΠϯ໊Λநग़ͨ͠Γݴޠʹґଘ͠ͳ͍ΞφϥΠβʔͷఆٛ

Slide 40

Slide 40 text

JOEFYUFNQMBUF {! "string_fields": {! "template": "*",! "order": 10,! "mappings": {! "_default_": {! "dynamic_templates": [! {! "not_analyzed_fields": {! "match": "method|charSet|mimeType| content_type|language",! "match_pattern": "regex",! "match_mapping_type": "string",! "mapping": {! "type": "string",! "index": "not_analyzed"! }! }! },! {! "url_fields": {! "match": ".*url|.*link",! "match_pattern": "regex",! "match_mapping_type": "string",! "mapping": {! "type": "string",! "index": "not_analyzed",! "fields": {! "keyword": {! "type": "string",! "analyzer": "keyword_analyzer"! },! "substring": {! "type": "string",! "analyzer": "standard"! },! "domain": {! "type": "string",! "analyzer": "domain_analyzer"! }! }! }! }! },! {! "comma_separated_fields": {! "match": "meta_keywords",! "match_pattern": "regex",! "match_mapping_type": "string",! "mapping": {! UFNQMBUFTTUSJOH@pFMETKTPO TUSJOHܕϑΟʔϧυͷμΠφϛοΫςϯϓϨʔτఆٛ

Slide 41

Slide 41 text

JOEFYUFNQMBUF ˝ΠϯσοΫε࡞੒ TFUUJOHTཁૉͷద༻ ˝λΠϓͷ࡞੒ NBQQJOHTཁૉͷద༻ ˝ϑΟʔϧυσʔλͷ௥Ճ EZOBNJDUFNQMBUFTͷద༻ γϟʔυͷઃఆͱ͔"OBMZTJTͷఆٛ ͳͲ͸͜ͷλΠϛϯάͰద༻ɻ ݻఆͷϑΟʔϧυͷఆٛͳͲ͸͜ͷλ ΠϛϯάͰద༻ɻ EZOBNJDUFNQMBUFTͷఆٛ͸͜ͷλΠ ϛϯάͰద༻ɻ ˡ ˡ ˡ ద༻ͷྲྀΕ ✔️ ✔️ ✔️

Slide 42

Slide 42 text

JOEFYUFNQMBUF ͞Βʹ ΠϨΪϡϥʔͳରԠ΋Ͱ͖Δ ॊೈੑ΋݉Ͷඋ͑ͯ·͢ʂ ㅟ ㅟ ㅟ ͓͓ɺͦΕ͸ಋೖ͠΍͍͢ɻ

Slide 43

Slide 43 text

JOEFYUFNQMBUF ˝ΠϯσοΫε࡞੒ TFUUJOHTཁૉͷద༻ NBQQJOHTཁૉͷద༻ ˝ϑΟʔϧυσʔλͷ௥Ճ EZOBNJDUFNQMBUFTͷద༻ ΠϨΪϡϥʔͳରԠ͍ͨ͠৔߹ ✔️ ✔️ ✔️ ର৅ͷϑΟʔϧυఆ͕ٛଘࡏ͠ͳ͍৔ ㅟ ㅟ ㅟ ㅟ ㅟ ㅟ ߹ɺEZOBNJDUFNQMBUFTͷఆٛ͸͜ͷ ㅟ λΠϛϯάͰద༻ɻ ˡ ΠϨΪϡϥʔͳϚοϐϯάఆٛΛ͍ͨ͠ ৔߹͸͜ͷλΠϛϯάͰఆٛ͢Ε͹0, ˝λΠϓͷ࡞੒

Slide 44

Slide 44 text

࠷ޙʹ ࠷ޙʹ

Slide 45

Slide 45 text

࠷ޙʹ ͜ΕͰ୭Ͱ΋؆୯ʹ &MBTUJDTFBSDIΛ࢖͍͜ͳͤΔʂ ʜͨͿΜɺ͓ͦΒ͘ɺ͖ͬͱ ! ˞%FNPͷ࢓૊Έ͸4JCB IUUQTJCBUPLZP ʹಋೖ͍ͯ͠·͢ɻ ڵຯͷ͋Δํ͸ɺͥͻΞΧ΢ϯτొ࿥ͯ͠ಈ࡞Λ֬ೝͯ͠Έ͍ͯͩ͘͞ɻ վળͷཁ๬͸ɺ!·Ͱ͓͖͕Δʹʂ

Slide 46

Slide 46 text

࠷ޙʹ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

Slide 47

Slide 47 text

φϨοδϫʔΫε͔Β େ੾ͳ͓஌Βͤ

Slide 48

Slide 48 text

ʮୈճ&MBTUJDTFBSDIษڧձʯࢀՃऀݶఆ 4JCBͷແྉ࿮Λ υΩϡϝϯτʹ֦େ͠·͢ʂ Ξϯέʔτʹ͝ڠྗ͍ͩ͘͞ɻ ˞Ξϯέʔτʹ͝ճ౴͍͔ͨͩͳͯ͘΋4JCB࢖͍͍ͨʂͱݴ͏৔߹΋0, ! ! ͥͻ͜ͷػձʹ4JCBΛ࢖ͬͯΈ͍ͯͩ͘͞N @@ N http://siba.tokyo