Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LINE絵文字概観 / FFTT #465
Search
Masaya Nakamura
December 24, 2021
Programming
0
4k
LINE絵文字概観 / FFTT #465
https://shiromoji.hatenablog.jp/entry/2022/01/16/235051
Masaya Nakamura
December 24, 2021
Tweet
Share
More Decks by Masaya Nakamura
See All by Masaya Nakamura
で、モノレポにして結局どうだったの? / FFTT #522
mashabow
0
42
uchino-sensors: 温湿度センサーで値をとってグラフにするよくあるアレ / FFTT #437
mashabow
0
3.4k
日本の新聞の題字あつめました
mashabow
0
2.4k
題字ペタペタ:Contentful + Gatsby で作るコレクションサイト / FFTT #409
mashabow
0
14k
古典プログラマが量子プログラミングをさわろうとした話 / FFTT #383
mashabow
2
130
ベジエ曲線のなめらかさの話 / Bézier Smoothness
mashabow
21
41k
書体見本帳をながめる / FFLT #12
mashabow
0
350
Other Decks in Programming
See All in Programming
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
Flutterと Vibe Coding で個人開発!
hyshu
1
230
DataformでPythonする / dataform-de-python
snhryt
0
150
AI Ramen Fight
yusukebe
0
130
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
120
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
5
810
新世界の理解
koriym
0
130
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
330
ワープロって実は計算機で
pepepper
2
1k
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
380
JetBrainsのAI機能の紹介 #jjug
yusuke
0
190
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
How STYLIGHT went responsive
nonsquared
100
5.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Statistics for Hackers
jakevdp
799
220k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Building Applications with DynamoDB
mza
95
6.5k
Facilitating Awesome Meetings
lara
54
6.5k
Adopting Sorbet at Scale
ufuk
77
9.5k
Speed Design
sergeychernyshev
32
1.1k
Transcript
-*/&ֆจࣈ֓؍ ݄ ''55 !NBTIBCPX
ۙگ w ϑϩϯτΤϯυΤϯδχΞ࠾༻Ͱόλόλ w ৽ϝϯόʔͷΦϯϘʔσΟϯάͰόλόλ w ݄ʹࢠͲ͕࢈·ΕΔ༧ఆͰ४උʹόλόλ
-*/&ֆจࣈͷશମ૾
ྺ࢙ w ݄ɹإɾه߸ɾݐɾಈͳͲͷֆจࣈछྨΛఏڙ։࢝ w ݄ɹϜʔϯϒϥϯͳͲͷ-*/&ΩϟϥΫλʔͨͪͷֆจࣈ͕छྨՃ w ݄ɹίχʔͳͲछྨͷֆจࣈΛՃɺ·ͨҎલ͔Β͋ͬͨֆจࣈͷ͏ͪݸͷσβΠϯΛ৽ௐ w ͜ͷλΠϛϯάͰॳΊͯɺֆจࣈΛͭͷελϯϓͷΑ͏ʹͯ͠τʔΫը໘ʹදࣔͤ͞Δ͜ͱՄೳʹ w
݄ɹֆจࣈΛେ෯ϦχϡʔΞϧ͠ɺ छྨҎ্ͷֆจࣈ͕ར༻Մೳʹ w ݄ɹτʔΫʹจࣈΛೖྗ͢Δͱɺ͓͢͢Ίͷֆจࣈ͕ొ͢ΔαδΣετػೳ͕ొ w ݄ɹ จࣈͷʮσίจࣈʯ͕৽ͨʹՃ w ݄ɹϛοΩʔϚεɾϋϩʔΩςΟͳͲਓؾΩϟϥΫλʔΛֆจࣈʹͨ͠-*/&ֆจࣈΛൢച։࢝ w ݄ɹϢʔβʔ੍͕࡞ͨ͠ʮ-*/&ΫϦΤΠλʔζֆจࣈʯΛൢച։࢝ w ݄ɹϝοηʔδͰΩϟϥΫλʔ͕ಈ͘ʮΞχϝʔγϣϯֆจࣈʯΛൢച։࢝
Ұൠ͚ͷྨ w ݺͼํ͕͍͕͜͠ɺ͍Ζ͍ΖͳΓޱ͕͋Δ w ֆจࣈWTσίจࣈɹˡը૾ͷ༰͕Ϟϊ͔จࣈ͔ w ֆจࣈWTΞχϝʔγϣϯֆจࣈɹˡΞχϝʔγϣϯ͢Δ͔͠ͳ͍͔ w ެࣜֆจࣈWTΫϦΤΠλʔζֆจࣈɹˡ࡞ऀ͕اۀ͔Ұൠਓ͔
ٕज़తͳࢹͰͷྨ w ։ൃऀ͚υΩϡϝϯτʹΑΔͱҎԼͷछྨɻ໊લ͕͍͜͠ʜ
จࣈू߹ͱූ߸Խํࣜ w จࣈίʔυͷΛ͢Δͱ͖ɺҎԼͷͭͷଆ໘ʹ͚ͯߟ͑Δ͜ͱ͕ଟ͍ w ࠓճϓϨʔϯςΩετ͚ͩʹཹ·Βͳ͍ͷͰɺएׯϨΠϠʔ͕ͣΕΔ͕ʜ w จࣈू߹ʢූ߸Խจࣈू߹ɺDPEFEDIBSBDUFSTFUʣ w ʮจࣈʯͱʮ൪߸ʯΛͲ͏ରԠ͚Δ͔ʁ w
ූ߸Խํࣜʢจࣈූ߸ԽํࣜɺDIBSBDUFSFODPEJOHTDIFNFʣ w ʮ൪߸ʯΛͲͷΑ͏ͳσʔλදݱʹམͱ͠ࠐΉ͔ʁ
จࣈू߹
࠶ܝ w -*/&Ͱѻ͑ΔֆจࣈҎԼͷछྨ
6OJDPEFֆจࣈ w Έͳ͞Μ͕͍͍ͭͬͯΔ6OJDPEFֆจࣈ🤗🙊✅ w -*/&Ͱͦͷ··ͯ͑͢Δ w ݟͨڥґଘʢϑΥϯτґଘʣ w ͱͱຊͷܞଳ֤ࣾͷಠ࣮ࣗͩͬͨͷ͕ɺ6OJDPEFͰඪ४Խ w
ʑ৽͍͠ֆจࣈ͕ఏҊ͞Εɺ৹ٞΛܦͯՃ͞Ε͍ͯΔ w छྨҎ্ɺόϦΤʔγϣϯʢδΣϯμʔഽͷ৭ͳͲʣ ҧ͍ΛؚΊΔͱछྨҎ্
-*/&ಠࣗͷ6OJDPEFֆจࣈ w ੲ͔Β͋ΔɺҰ൪ʮ-*/&ͬΆ͍ʯֆจࣈɻશ෦Ͱจࣈ
-*/&ಠࣗͷ6OJDPEFֆจࣈ w ੲ͔Β͋ΔɺҰ൪ʮ-*/&ͬΆ͍ʯֆจࣈɻશ෦Ͱจࣈ
-*/&ಠࣗͷ6OJDPEFֆจࣈ w -*/&0⒏DJBM"DDPVOU.BOBHFSιʔγϟϧ1-64ͷϝοηʔδϚωʔδϟʔ ͳͲɺ֤πʔϧͰ͑Δͷ͕͜ͷจࣈू߹ w -*/&ެࣜΞΧϯτ͔ΒͷϝοηʔδͰΑ͘ΘΕ͍ͯΔ
͕߹Θͳ͍ w શ෦Ͱจࣈ͕ͩɺ-*/&0⒏DJBM"DDPVOU.BOBHFSʹ͋Δͷจࣈ w ɹɹɹɹɹɹ͕ͳ͔ͥൈ͚͍ͯΔ w w
ʺ
-*/&ֆจࣈ w -*/&ΞϓϦͷֆจࣈύϨοτ͔ΒೖྗͰ͖Δֆจࣈ w -*/&ͷʮελϯϓγϣοϓʯ͔Βެࣜֆจࣈ ΫϦΤΠλʔζֆจࣈΛߪೖՄೳ
ϓϩμΫτ*%ͱֆจࣈ*% w ϓϩμΫτ*%ͱֆจࣈ*%ͷΈ߹ΘͤͰҰҙʹಛఆͰ͖Δ
όʔδϣϯҧ͍ w ࠨΛ֦ுͯ͠ӈʹͳͬͨʁ w ผʑͷϓϩμΫτ*%͕ ৼΒΕ͍ͯΔ w ͋͑ͯॏෳූ߸Խ
ʮ-*/&ಠࣗͷ6OJDPEFֆจࣈʯͱͷؔ w -*/&ಠࣗͷ6OJDPEFֆจࣈɺ -*/&ֆจࣈͷͭͷϓϩμΫτͷதʹɺ ׂͯ͠ऩ͞Ε͍ͯΔ
ࡾऀͷแؚؔ w -*/&ֆจࣈ˪-*/&ಠࣗͷ6OJDPEFֆจࣈ w -*/&ֆจࣈˬ6OJDPEFֆจࣈ⾘
ූ߸Խํࣜ
6OJDPEFֆจࣈ w 6OJDPEFֆจࣈɺ௨ৗͷ6OJDPEFͷϓϨʔϯςΩετ w ූ߸Խํࣜ6OJDPEFͰఆΊΒΕ͍ͯΔ w 65'ɺ65'ɺ65' w -*/&ͷ8FC"1*Ͱɺ࣮ࡍʹ+40/ͰΓͱΓ͞ΕΔ w
্༷ɺ+40/65'Ͱූ߸Խ͠ͳ͚ΕͳΒͳ͍ʢ3'$ʣ { "type": "text", "text": "Hello, world 🤗" }
-*/&ಠࣗͷ6OJDPEFֆจࣈ w ίʔυදͷਐͷ͕ɺ6OJDPEFͷίʔυϙΠϯτʹରԠ͍ͯ͠Δ w ɹɹɹɹɹɹͳΒ6 w 6OJDPEFͷ1SJWBUF6TF"SFBʢࢲ༻ྖҬʣʹׂΓͯΒΕ͍ͯΔࢲ༻จࣈ w ࢲ༻ྖҬͷதͰ͋Εɺ͖ͳॴʹ͖ͳจࣈΛׂΓͯͯ0,
w ׂΓͯʹ͍ͭͯɺૹ৴ଆͱड৴ଆͰ߹ҙ͍ͯ͠ͳ͍ͱҙຯ͕ͳ͍ w ଞͷࢲ༻จࣈͰ6 '''͕༗໊
-*/&ಠࣗͷ6OJDPEFֆจࣈ w ௨ৗͷ6OJDPEFֆจࣈͱࠞͥͯ͏͜ͱͰ͖Δ w ͲͪΒී௨ͷ6OJDPEFͷจࣈͳͷͰ { "type": "text", "text":
" & 🤗" }
-*/&ֆจࣈ w ΫϦΤΠλʔζֆจࣈ·ͰؚΊΔͱେͳʹͳΓɺ͜Ε͔Β૿͑ଓ͚Δ w Ұํɺ6OJDPEFͷࢲ༻ྖҬ จࣈ͔֬͠อ͞Ε͍ͯͳ͍
-*/&ֆจࣈ ૹ৴ w ϓϨʔϯςΩετ͚ͩͰදݱ͢Δ͜ͱΛఘΊɺ +40/தͷemojisϑΟʔϧυΛซ༻ͯ͠දݱ { "type": "text", "text":
"$→$→🤗", "emojis": [ { "index": 0, "productId": "5ac1bfd5040ab15980c9b435", "emojiId": "001" }, { "index": 2, "productId": "5ac1bfd5040ab15980c9b435", "emojiId": "002" } ] }
-*/&ֆจࣈ ड৴ w ૹ৴ͱඍົʹϑΥʔϚοτ͕ҟͳΓɺ ସͷจࣈྻͰදݱ͞Ε͍ͯΔͷ͕ಛ { "type": "text", "text":
"(love)→(hahaha)→🤗", "emojis": [ { "index": 0, "length": 6, "productId": "5ac1bfd5040ab15980c9b435", "emojiId": "001" }, { "index": 7, "length": 8, "productId": "5ac1bfd5040ab15980c9b435", "emojiId": "002" } ] }
-*/&ֆจࣈ ड৴ w 04ͷ௨ͳͲɺ-*/&ֆจࣈͷද͕ࣔͰ͖ͳ͍ՕॴͰɺ ସͷจࣈྻΛؚΜͩtextϑΟʔϧυͷͰදࣔ͞ΕΔ { "type": "text", "text":
"(love)→(hahaha)→🤗", "emojis": [ { "index": 0, "length": 6, "productId": "5ac1bfd5040ab15980c9b435", "emojiId": "001" }, { "index": 7, "length": 8, "productId": "5ac1bfd5040ab15980c9b435", "emojiId": "002" } ] }
-*/&ֆจࣈ ड৴ w ʮସͷจࣈྻʯͱʮ-*/&ֆจࣈʯରଟͷؔʹͳ͍ͬͯΔ͜ͱʹҙ w ͭ·ΓɺʮସͷจࣈྻʯɺTIPSUDPEFͱͯ͑͠ͳ͍ (happy)(happy) → (sleepy)(sleepy)
→ (beer)(beer) → (͋)(͋) →
͓ΘΓʹ
·ͱΊ w ҎԼͷछྨͷֆจࣈʹ͍ͭͯɺจࣈू߹ͱූ߸ԽํࣜΛݟͨ
ʮ-*/&ಠࣗͷ6OJDPEFֆจࣈʯͷഇࢭ
ʮ-*/&ಠࣗͷ6OJDPEFֆจࣈʯͷഇࢭ w εʔύʔηοτͰ͋Δʮ-*/&ֆจࣈʯʹऔͬͯΘΒΕΔ w ʮ-*/&ಠࣗͷ6OJDPEFֆจࣈʯΛؚΜͩաڈͷσʔλΛѻ͏߹ɺ Ͳ͔͜Ͱม͢Δඞཁ͕ग़ͯ͘Δ ഇࢭ
͓͠·͍