Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メガネとBluetooth Low Energyでお喋りする

KOBA789
November 20, 2021

メガネとBluetooth Low Energyでお喋りする

Kernel/VM 探検隊 online part4 で発表したスライドです。
https://kernelvm.connpass.com/event/225573/

コードやデモは以下にあります。
https://github.com/KOBA789/memex

この解析作業の模様は一部録画があります。合わせてご覧ください。
https://www.youtube.com/watch?v=9B1MZC_yb1g

KOBA789

November 20, 2021
Tweet

More Decks by KOBA789

Other Decks in Programming

Transcript

  1. KOBA789
    ϝΨωͱ

    #MVFUPPUI-PX&OFSHZͰ

    ͓஻Γ͢Δ
    ͋Δ͍͸42-ͰύέοτΛղੳ͢Δํ๏

    View Slide

  2. KOBA789
    ͓͔͛͞·Ͱब৬͠·ͨ͠
    ‣ ࢓ࣄ
    ‣ 3VTUͰਓ޻Ӵ੕ͷιϑτ΢ΣΞΛॻ͍ͨΓ
    ‣ झຯ
    ‣ ࣗ࡞%#.4Λ࡞ͬͨΓ
    ‣ ϒϥ΢βͰಈ͘ి࣓ϦϨʔճ࿏$"%

    γϛϡϨʔλΛ࡞ͬͨΓ

    ʢ,FSOFM7.୳ݕୂPOMJOFQBSUͷͱ͖ͷωλʣ
    ‣ :PV5VCFS׆ಈΛ΍ͬͨΓ΍Βͳ͔ͬͨΓ

    View Slide

  3. ,0#"
    ϝΨωͱ

    #MVFUPPUI-PX&OFSHZͰ

    ͓஻Γ͢Δ
    ͋Δ͍͸42-ͰύέοτΛղੳ͢Δํ๏

    View Slide

  4. #-&Λ஻ΔϝΨω
    https://twitter.com/hikalium/status/1453308702560165888

    View Slide

  5. ਺೔ޙ

    View Slide

  6. #-&Λ஻ΔϝΨω
    ങͬͪͬͨ
    w ֤छηϯαʔ෇͖
    w Ճ଎౓ηϯαʔ
    w δϟΠϩηϯαʔ
    w ےిηϯαʔʢ·͹͖ͨͱ͔ʣ
    w 8FC4PDLFUͷ࢓༷͕ެ։͞Ε͍ͯΔ
    https://twitter.com/KOBA789/status/1454285016129687553

    View Slide

  7. #-&Λ஻ΔϝΨω
    ങͬͪͬͨ
    w ֤छηϯαʔ෇͖
    w Ճ଎౓ηϯαʔ
    w δϟΠϩηϯαʔ
    w ےిηϯαʔʢ·͹͖ͨͱ͔ʣ
    w 8FC4PDLFUͷ࢓༷͕ެ։͞Ε͍ͯΔ
    https://twitter.com/KOBA789/status/1454285016129687553

    View Slide

  8. #-&Λ஻ΔϝΨω
    ങͬͪͬͨ
    w ֤छηϯαʔ෇͖
    w Ճ଎౓ηϯαʔ
    w δϟΠϩηϯαʔ
    w ےిηϯαʔʢ·͹͖ͨͱ͔ʣ
    w 8FC4PDLFUͷ࢓༷͕ެ։͞Ε͍ͯΔ
    https://twitter.com/KOBA789/status/1454285016129687553
    🤔#-&Ͱ͸ͳ͍ͷ͔ʁ

    View Slide

  9. Ͳ͏͍͏͜ͱͩͬͯ͹Α
    ઐ༻ͷΞϓϦ͕#-&ͱ8FC4PDLFUΛϓϩΩγ͍ͯ͠Δ
    👓 📱 💻
    #MVFUPPUI-PX&OFSHZ
    ʢඇެ։ʣ
    8FC4PDLFU
    ʢެ։ʣ
    ઐ༻J04ΞϓϦ 84αʔόʔ

    View Slide

  10. ͓ͱͳ͘͠8FC4PDLFU࢖͑͹Α͘ͳ͍ʁ
    ͍΍ͳΜ͡Όʂ
    w J04ΞϓϦΛ࢖͏ͷ͕μϧ͍
    w ͓खܰͳΞόλʔ؀ڥ͕΄͍͠Μ͡Ό
    w ཧ૝తʹ͸.BD#PPL୆Ͱ׬݁ͯ͠΄͍͠
    w ͳΜ͔ᚒͳͷͰղੳ͍ͨ͠
    w ࢓༷ඇެ։༡ͼߕ൹͕͋Δ

    View Slide

  11. ͱ͍͏Θ͚Ͱղੳ͢Δ͜ͱʹ

    View Slide

  12. ͳʹ͸ͱ΋͋ΕύέοτΛΩϟϓνϟ
    ͔͠͠Ͳ͏΍ͬͯʁ
    w ެࣜͷΞϓϦͷ௨৴Λ೷͖͍ͨ
    w ͔͠͠ಈ࡞؀ڥ͸J04
    w 8JSF4IBSLͱ͔ͳ͍
    w ύέοτΩϟϓνϟͰ͖Δͷʁ

    View Slide

  13. J04Ͱͷ#-&ύέοτΩϟϓνϟ
    ࣮͸"QQMF७ਖ਼ͷ։ൃπʔϧͰͰ͖Δ
    w J04ଆʹ։ൃ༻ͷϓϩϑΝΠϧΛΠϯετʔϧ͢Δ
    w IUUQTEFWFMPQFSBQQMFDPNCVHSFQPSUJOHQSP
    fi
    MFTBOEMPHT
    w J1IPOFͱ.BD#PPLΛ64#έʔϒϧͰ઀ଓ͢Δ
    w NBD04ଆͰ1BDLFU-PHHFSΛىಈ͢Δ
    w "EEJUJPOBM5PPMTʹೖͬͯΔ
    w ύέοτ͕ͲΜͲΜྲྀΕͯ͘Δʂɹָ͍͠ʂʂ

    View Slide

  14. ׆͖ͷ͍͍ύέοτͷ༷ࢠ
    ઈົʹ࢖͍ͮΒ͍6*͕ͩɺͪΌΜͱ࠾औͰ͖Δ

    View Slide

  15. ύέοτ؍࡯
    ͳΜ͔༷ࢠ͕͓͔͍͠
    w #-&ͱ͍͑͹ɺ("55Ͱ஋͕

    $IBSBDUFSJTUJD͝ͱʹೖ͍ͬͯΔ͜ͱ͕ଟ͍
    w 9࣠ํ޲ͷՃ଎౓ͷ$IBSBDUFSJTUJDɺͷΑ͏ʹ
    w ͜ͷϝΨω͸ͭͷCZUFͷ$IBSBDUFSJTUJDʹ

    શ෦Λԡ͠ࠐΜͰ͍ΔΑ͏ͩ
    w ͦΕͧΕͷ஋͕ͲͷΦϑηοτʹೖ͍ͬͯΔͷ͔

    Θ͔ΒΜ

    View Slide

  16. 14 18 dd 6a 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0a ab


    14 18 dd 67 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0b ab


    14 18 dd 68 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0a ab


    14 18 dd 65 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 ae 0c ab


    14 18 dd 66 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 8d 0a ab


    14 18 dd 63 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 7e 08 ab


    14 18 dd 64 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 6f 0b ab


    14 18 dd 61 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 81 09 ab


    14 18 dd 62 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 de 0c ab


    14 18 dd 5f 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 08 08 ab


    14 18 dd 60 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 3b 0f ab


    14 18 dd 5d 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 31 e2 00 ab


    14 18 dd 5e 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 76 05 ab


    14 18 dd 5b 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 64 02 ab


    14 18 dd 5c 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 4b 1a 0e ab


    14 18 dd 59 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 30 fe 04 ab


    14 18 dd 5a 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 31 00 07 ab


    14 18 dd 57 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 31 a1 06 ab


    14 18 dd 58 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 31 e0 05 ab


    14 18 dd 55 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 5c 03 ab


    14 18 dd 56 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 0b 0b ab


    14 18 dd 53 3f 6b 7f 6c 9b ff 88 6f c5 b4 60 40 30 c6 0a ab


    14 18 dd 54 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 99 03 ab




    View Slide

  17. 14 18 dd 6a 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0a ab


    14 18 dd 67 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0b ab


    14 18 dd 68 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0a ab


    14 18 dd 65 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 ae 0c ab


    14 18 dd 66 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 8d 0a ab


    14 18 dd 63 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 7e 08 ab


    14 18 dd 64 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 6f 0b ab


    14 18 dd 61 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 81 09 ab


    14 18 dd 62 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 de 0c ab


    14 18 dd 5f 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 08 08 ab


    14 18 dd 60 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 3b 0f ab


    14 18 dd 5d 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 31 e2 00 ab


    14 18 dd 5e 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 76 05 ab


    14 18 dd 5b 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 64 02 ab


    14 18 dd 5c 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 4b 1a 0e ab


    14 18 dd 59 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 30 fe 04 ab


    14 18 dd 5a 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 31 00 07 ab


    14 18 dd 57 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 31 a1 06 ab


    14 18 dd 58 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 31 e0 05 ab


    14 18 dd 55 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 5c 03 ab


    14 18 dd 56 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 0b 0b ab


    14 18 dd 53 3f 6b 7f 6c 9b ff 88 6f c5 b4 60 40 30 c6 0a ab


    14 18 dd 54 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 99 03 ab




    γʔέϯε൪߸ͷΑ͏͕ͩɺ

    ୯ௐ૿Ճ͡Όͳ͍

    View Slide

  18. 14 18 dd 6a 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0a ab


    14 18 dd 67 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0b ab


    14 18 dd 68 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9e 0a ab


    14 18 dd 65 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 ae 0c ab


    14 18 dd 66 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 8d 0a ab


    14 18 dd 63 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 7e 08 ab


    14 18 dd 64 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 6f 0b ab


    14 18 dd 61 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 81 09 ab


    14 18 dd 62 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 de 0c ab


    14 18 dd 5f 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 08 08 ab


    14 18 dd 60 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 3b 0f ab


    14 18 dd 5d 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 31 e2 00 ab


    14 18 dd 5e 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 76 05 ab


    14 18 dd 5b 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 64 02 ab


    14 18 dd 5c 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 4b 1a 0e ab


    14 18 dd 59 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 30 fe 04 ab


    14 18 dd 5a 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 31 00 07 ab


    14 18 dd 57 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 31 a1 06 ab


    14 18 dd 58 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 31 e0 05 ab


    14 18 dd 55 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 5c 03 ab


    14 18 dd 56 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 30 0b 0b ab


    14 18 dd 53 3f 6b 7f 6c 9b ff 88 6f c5 b4 60 40 30 c6 0a ab


    14 18 dd 54 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 40 31 99 03 ab




    Ճ଎౓ηϯαʔͷ஋ͬΆ͍͕ɺ

    ࣠ͳͷʹCZUFʁ

    View Slide

  19. ղੳͷ࣌ؒͩʂ

    View Slide

  20. ղੳͷํ਑
    جຊ͸໨ྗ
    w ͳΜΒ͔ͷ஋͕903͞ΕͯͨΓͦ͠͏͕ͩɺ

    ͦΜͳʹ೉͍͜͠ͱ͸͍ͯ͠ͳ͍͸ͣ
    w ϝΨωʹຒΊࠐΊΔαΠζͷϓϩηοαͰ

    Ͱ͖Δ͜ͱʹ͸ݶք͕͋Δ
    w 8FC4PDLFUͷσʔλͱಉ࣌ʹΩϟϓνϟͯ͠ɺ

    ԣʹฒ΂ͯάοͱᛀΉ

    View Slide

  21. Ωϟϓνϟ͢Δ΍ͭΛ࡞Δ
    8FC4PDLFUฤ
    w /PEFKTͰࡶʹॻ͘
    w ʢ׬ʣ

    View Slide

  22. Ωϟϓνϟ͢Δ΍ͭΛ࡞Δ
    #MVFUPPUI-PX&OFSHZฤ
    w ಉ࣌ʹΩϟϓνϟ͢Δͱ͍͏͜ͱ͸ɺ

    J04Ͱ΍Δ͔͠ͳ͍
    w ͭ·Γ1BDLFU-PHHFS͔͠ͳ͍
    w 1BDLFU-PHHFS͸Ωϟϓνϟ݁ՌΛอଘͰ͖Δ
    w CUTOPPQܗࣜ

    View Slide

  23. CUTOPPQ
    ύέοτΩϟϓνϟͷه࿥ܗࣜ
    w ύʔεͰ͖ΔϥΠϒϥϦΛ୳͚ͨ͠Ͳແ͔ͬͨ
    w ࢓ํͳ͍ͷͰࣗྗͰύʔε
    w ݻఆ௕ͷϑΝΠϧϔομͷ͋ͱʹɺ

    Մม௕ͷϨίʔυ͕ฒͿ͚ͩ
    w 3VTUͰద౰ʹॻ͍ͨΒ͙͢Ͱ͖ͨ

    View Slide

  24. ద౰ͳμϯϓ͕ಘΒΕͨ
    ద౰ͳ8FC4PDLFUμϯϓʢ+40/ʣ ద౰ͳ#-&μϯϓʢ$47ʣ

    View Slide

  25. ໨ྗΛ׆༻͢Δʹ͸ՄࢹԽ͕େࣄ
    Ͳ͏΍ͬͯՄࢹԽ͢Δ͔
    w ,0#"͸1ZUIPO͕ॻ͚ͳ͍

    ʢॻ͖ͨ͘ͳ͍ʣ
    w NBUQMPUMJCͱ͔࢖͑ͳ͍
    w 42-ͷΤίγεςϜʹ͸

    ศརͳՄࢹԽπʔϧ͕͍ͬͺ͍
    w ͖ͬ͞ͷμϯϓΛ42-%#ʹ

    ೖΕΕ͹͍͍ͷͰ͸ʁ

    View Slide

  26. #EBTI
    &MFDUSPO੡ͷ͓खܰμογϡϘʔυΞϓϦ
    w IUUQTHJUIVCDPNCEBTIBQQCEBTI
    w ͱʹ͔͘άϥϑ͕ࡶʹඳ͚Δ

    View Slide

  27. άϥϑΛඳ͍ͯோΊΔ
    w ૒ํʹߦ൪߸Λ෇༩ͨ͠ͷͰɺ

    ͦΕͰ+0*/
    w ͜ΕҐ૬߹ͬͯΜͷ͔ʁ
    w Ωϟϓνϟ։࢝λΠϛϯά͕

    ἧͬͯͳ͍ͷͰઈର߹ͬͯͳ͍

    View Slide

  28. άϥϑͷҐ૬Λἧ͑Δ
    ͳʹΛ໨ҹʹҐ૬Λἧ͑Δ͔
    w ·͹͖ͨͨ͠ͱ͖͚ͩมԽ͢ΔΦΫςοτ͕͋Δ
    w ϫϯγϣοτͳͷͰҐ૬߹Θͤʹ࢖͍΍͍͢
    14 18 dd 7f 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 c9 0c ab


    14 18 dd 80 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 e8 0c ab


    14 18 dd 7d 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 eb 0f ab


    14 18 dd 7e 3f 7b bb 6c 9b ff 88 6f c5 b4 61 41 30 5d 03 ab


    14 18 dd 7b 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 8b 0e ab


    14 18 dd 7c 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 30 eb 0e ab


    14 18 dd 79 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 31 ab 07 ab


    14 18 dd 7a 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 42 31 ab 06 ab


    14 18 dd 77 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 31 0b 02 ab


    14 18 dd 78 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 1b 0a ab


    14 18 dd 75 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 1b 00 ab


    14 18 dd 76 3f 6b 7f 6c 9b ff 88 6f c5 b4 61 41 30 9c 03 ab




    View Slide

  29. ·͹͖ͨͬΆύϥϝʔλΛՄࢹԽ
    ஋ͷେখ͸ͱ΋͔͘ɺͪΐͬͱಈ͔ͨ͠ΒॏͳΓͦ͏

    View Slide

  30. Ґ૬͕ἧͬͨͷͰάοͱᛀΜͰ͍͘
    ·ͣ͸γʔέϯε൪߸
    w 8FC4PDLFUଆͷγʔέϯε൪߸ͱ#-&ଆͷγʔέϯε൪߸ͬΆ͍

    ΦΫςοτΛฒ΂Δ
    w ͳΜ͔ΪβΪβ͍ͯ͠Δ
    w 903ͬΆ͍
    w ܏͖͕ٯ
    w ิ਺ʁ
    w ((s^126)+1)%256Ͱͨ͠
    w 5IBOLT!YSFLLVTV

    View Slide

  31. Ճ଎౓ͷϏοτ਺Λௐ΂Δ
    όΠτʹ࣠ऩΊ͍ͯΔՄೳੑ͕͋Δ
    w ϝΨωΛ੩ஔ͢Δ
    w ॏྗՃ଎౓ΛಘΔ
    w ϊΠζʹΑΔ༳Β͔͗Β෼ղೳΛಘΔ
    w ϝΨωΛڧ͘ৼΓճ͢
    w ࠷େ஋ΛಘΔ
    w CJUͬΆ͍ͱ͍͏͜ͱ͕Θ͔Δ
    w ΍ͬͺΓόΠτʹԡ͠ࠐΜͰΔ

    View Slide

  32. όΠτͷ಺༁Λௐ΂Δ
    ͜͏͍͏ͱ͖ʹ42-͕ศརͳΜͰ͢Α
    w ੜͷ஋͕มԽ͍ͯ͠ͳ͍ͷʹ

    903͞Εͨ஋͕มԽ͢Δ͜ͱ͸ͳ͍
    w ࣠͋ͨΓCJUͳͷͰɺ

    CJUΞϥΠϯ͞Ε͍ͯΔ͜ͱΛظ଴͢Δ
    w ͢΂ͯͷ૊Έ߹ΘͤͰ

    ୯ࣹͷؔ܎ʹ͋ΔϏοτྻΛ୳͢

    View Slide

  33. 9࣠ͷ্CJU͕Ͳ͜ʹ૬౰͢Δ͔ௐ΂Δ
    9࣠ͷੜͷ஋Ͱɺ903͞Εͨ஋Λ(3061#:
    w ͡Όͳ͍஋͕͋Δྻ͸

    9࣠ͱؔ܎ແ͍ྻ

    View Slide

  34. ؔ܎ͷ͋Δྻ͕ߜΓࠐΊͨΒϒϧʔτϑΥʔε
    ,0#"͸਺ֶ͕Ͱ͖ͳ͍
    w y=(x^a)+b というエンコードを期待する


    w ͨ͘͞Μͷ Y Z
    ͷ૊͔ΒB CΛٻΊΔ
    w ࿈ཱํఔࣜͱͯ͠ղ͚ͦ͏ͳؾ΋͢Δ
    w ߴʑͷ୳ࡧൣғͳͷͰྗۀͰղ͘
    for (let a = 0; a < max; a ++) {


    for (let b = 0; b < max; b ++) {


    if (constraints.every(([o, e]) => (((o ^ a) + b) % max) === e)) {


    console.log(a, b);


    }


    }


    }

    View Slide

  35. Ճ଎౓ηϯαʔͷ஋Λ

    खʹೖΕ·ͨ͠🎉

    View Slide

  36. ΊͰͨ͠ΊͰͨ͠ʁ

    View Slide

  37. #-&Ͱ͓͠Ό΂Γ

    Ͱ͖ΔΑ͏ʹͳͬͨͷͰ

    View Slide

  38. #-&Ͱ௨৴͢ΔΞϓϦΛ
    ॻ͖͍ͨ

    View Slide

  39. #MVF;

    View Slide

  40. $PSF#MVFUPPUI

    View Slide

  41. 8FC#MVFUPPUI

    View Slide

  42. 8FC#MVFUPPUI
    ΢Σϒϒϥ΢βͰ#MVFUPPUI-PX&OFSHZ͕஻ΕΔʂ
    w ϒϥ΢βͰϝΨωͱ͓͠Ό΂Γ͢Δͧʂ
    w ྫʹΑͬͯ'JSFGPY͸৐ΓؾͰͳ͍
    w ΢Σϒඪ४ʹͳΔ͔͸͔ͳΓո͍͚͠Ͳɺ

    ༡Ϳ͚ͩͳΒ͍͍Ͱ͠ΐ͏

    View Slide

  43. σϞ
    https://github.com/KOBA789/memex

    View Slide