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
macのunicode正規化.pdf
Search
Daiki Ikeshima
March 20, 2023
Programming
0
26k
macのunicode正規化.pdf
Daiki Ikeshima
March 20, 2023
Tweet
Share
More Decks by Daiki Ikeshima
See All by Daiki Ikeshima
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
mski_iksm
1
160
gokartのキャッシュ競合防止のロック機能
mski_iksm
0
1.7k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
24k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3k
pythonでメタプログラミング(メタクラス編)
mski_iksm
1
420
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
150
Other Decks in Programming
See All in Programming
ファーストペンギンBot @Qiita Hackathon 2024 予選
dyson_web
0
220
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
170
Cancel Next.js Page Navigation: Full Throttle
ypresto
1
150
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
330
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
500
ROS 2のZenoh対応とZenohのROS 2対応
takasehideki
2
290
.NET Aspireのクラウド対応検証: Azureと他環境での実践
ymd65536
1
400
Re:PandasAI:生成AIがデータ分析業務にもたらすパラダイムシフト【増補改訂版】
negi111111
1
890
WEBアプリケーションにおけるAWS Lambdaを用いた大規模な非同期処理の実践
delhi09
PRO
7
4k
タイミーにおけるデータの利用シーンと データ基盤の挑戦
marufeuille
4
3.2k
Beyond Laravel Octane - Hyperf for Laravel Artisans
albertcht
1
120
선언형 UI를 학습할 때 알아둬야하는 키워드들
l2hyunwoo
0
130
Featured
See All Featured
BBQ
matthewcrist
85
9.2k
YesSQL, Process and Tooling at Scale
rocio
167
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Debugging Ruby Performance
tmm1
73
12k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Testing 201, or: Great Expectations
jmmastey
38
7k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Gamification - CAS2011
davidbonilla
80
5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
26
4k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
Ruby is Unlike a Banana
tanoku
96
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
29
1.7k
Transcript
"*νʔϜౢେथ NBDͷ6OJDPEFਖ਼نԽ UFDIUBML
ϦϯΫ͕ݟ͔ͭΒͳ͍͕ൃੜ HJUMBC্Ͱཧ͍ͯ͠ΔυΩϡϝϯτதͷϦϯΫ͕ݟ͔ͭΒͳ͍ "*νʔϜͰHJUMBC্ͰυΩϡϝϯτͷཧΛߦ͍ͬͯΔ XJLJͱൺֱͯ͠ߋ৽࣌ͷϐΞϨϏϡʔ͕Γ͔ͬͨ͢Γɺ$*ʹΑΔࣗಈνΣοΫ͕Γ͔ͬͨ͢ ΓͳͲͷϝϦοτ͕͋Δ $*ͰͷࣗಈϦϯΫνΣοΫͰϑΝΠϧ͕ݟ͔ͭΒͳ͍Τϥʔ͕ൃੜ ϑΝΠϧ͋ΔͣͳͷʹͳΜͰʁʁʁ
ݪҼຊޠϑΝΠϧͷ6OJDPEFਖ਼نԽํ๏ͷϒϨ ຊޠϑΝΠϧ໊͕ϑΝΠϧ࣮ମͱϦϯΫͰҰக͍ͯ͠ͳ͔ͬͨͷͰ ݟ͔ͭΒͳ͔ͬͨ ϑΝΠϧ࣮ମɿ 99σʔλੳυΩϡϝϯτ ϦϯΫɿ 99σʔλੳυΩϡϝϯτ aVD aVDaV ʮσʯͱ͍͏ͭͷ߹ࡁΈจࣈ
جఈจࣈʮςʯʴ݁߹จࣈʮʃʯͷ݁߹จࣈྻ ҧ͏จࣈྻʹͳ͍ͬͯͨͷͰ ϦϯΫͷϑΝΠϧ͕ݟ͔ͭΒͳ͍
߹ࡁΈจࣈWT݁߹จࣈྻ Ͳͬͪ߹ͱݺͿͱ͍͜͠ͷͰɺ ຊൃදͰʮ߹ࡁΈจࣈʯͱʮ݁߹จࣈྻʯͰݺশ͢Δ ߹ࡁΈจࣈ ໊લ͕͍͜͠ͷͰࠞಉʹҙ͕ඞཁɻจࣈͳͷ͔จࣈྻͳͷ͔Ͱ໌֬ʹ۠ผͰ͖Δɻ ݁߹จࣈྻʢجఈจࣈʴ݁߹จࣈʣ デ デ aVD
aVDaV ͜ΕΛ߹จࣈͱ͔߹ࣈʢϦΨνϟʣ ͱ͔ݺͿ͜ͱ͋ΓɺฆΒΘ͍͠ 6$4ʢ6OJDPEFޓͷࠃࡍඪ४ن֨ʣ Ͱ߹ྻͱݺͿ 6OJDPEFͷ༻ޠͰɺਖ਼ࣜʹૹΓԾ໊ ͳ͠Ͱ߹ࡁจࣈ
ͳΜͰจࣈ͕ͣΕͨʁ ʁʁʁʁʁ 'JOEFSͰϑΝΠϧΛ࡞ ϑΝΠϧ໊Λ߹ࡁΈจࣈʮσʢaVDʣʯͰ࡞ ϑΝΠϧ໊ΛυΩϡϝϯτʹͯ͠ίϐϖͯ͠ϦϯΫΛுΔ ߹ࡁΈจࣈͷ··ίϐϖ͞Ε͍ͯΔͷͰʁ
ϑΝΠϧͱυΩϡϝϯτΛHJUʹίϛοτ ϑΝΠϧυΩϡϝϯτϦϯΫ߹ࡁΈจࣈͷͣʁʁ ࡞ ϦϯΫ HJU DPNNJU
ͳΜͰจࣈ͕ͣΕͨʁ NBDͷ'JOEFSͱHJUͷจࣈྻͷऔΓѻ͍͕ҟͳΔͨΊʹζϨ͕ى͖ͨ 'JOEFSͰϑΝΠϧΛ࡞ ϑΝΠϧ໊Λ߹ࡁΈจࣈʮσʢaVDʣʯͰ࡞ ˠ'JOEFS͕߹ࡁΈจࣈΛղͯ݁͠߹จࣈྻʮσʢaVDaVʣʯʹม ϑΝΠϧ໊ΛυΩϡϝϯτʹͯ͠ίϐϖͯ͠ϦϯΫΛுΔ ߹ࡁΈจࣈͷ··ίϐϖ͞Ε͍ͯΔͷͰʁ
ˠ'JOEFSͷ࡞ͬͨ݁߹จࣈྻͷϑΝΠϧ໊Λίϐϖ͍ͯͨ͠ ϑΝΠϧͱυΩϡϝϯτΛHJUʹίϛοτ ϑΝΠϧυΩϡϝϯτϦϯΫ߹ࡁΈจࣈͷͣʁʁ ˠυΩϡϝϯτϦϯΫ݁߹จࣈྻʮσʢaVDaVʣʯͷ·· ϑΝΠϧ࣮ମHJU͕߹ࡁΈจࣈʮσʢaVDʣʯʹ࠶ม͍ͯ͠Δ ࡞ ϦϯΫ HJU DPNNJU
6OJDPEFਖ਼نԽ 6OJDPEFਖ਼نԽɺݟ͕ͨҰॹͳͷʹίʔυϙΠϯτ͕ҧ͏߹ʹ ੜ͡ΔࠞཚΛܰݮͤ͞Δͱظ͞ΕΔ /'% /PSNBMJ[BUJPO'PSN$BOPOJDBM%FDPNQPTJUJPO ࢹ֮తɾҙຯతʹՁͳจࣈྻʹղ͠ɺ݁߹จࣈྻʹ͢Δ /'$ /PSNBMJ[BUJPO'PSN$BOPOJDBM$PNQPTJUJPO
/'%্ͨ͠Ͱɺࢹ֮తɾҙຯతʹՁͳจࣈྻΛ߹͠ɺ߹ࡁΈจࣈʹ͢Δ σˠς ʃ σˠς ʃˠσ ߹ࡁΈจࣈͱ݁߹จࣈྻ͕͍ࠞͬͯ͡Δͱ͍͜͠ͷͰͲ͔ͬͪʹਖ਼نԽ͢Δ͜ͱ ˞ଞʹಉҰจࣈछͷఆ͕؇͍/',%ɺ/',$͋Δ
'JOEFS͕ਖ਼نԽ͍ͯ͠ΔʁNBD04ʁ NBD04Ͱɺ'JOEFS͕߹ࡁΈจࣈΛ݁߹จࣈྻʹมͯ͠ ͓ΓɺϑΝΠϧγεςϜม͍ͯ͠ͳ͍ NBD04Ͱݕূ 'JOEFS ʮσʢaVDʣʯͱ͍͏ϑΝΠϧΛ࡞͢ΔͱʮσʢaVDaVʣʯͱ͍͏ϑΝΠϧ͕ग़དྷ ্͕͍ͬͯΔɻ ˠ/'%Ͱม͞Ε͍ͯΔ
UFSNJOBM UPVDIίϚϯυͰʮσʢaVDʣʯͱ͍͏ϑΝΠϧΛ࡞͢Δͱɺͦͷ··ͷʮσʢaVDʣʯ ϑΝΠϧ͕Ͱ͖Δɻ ˠม͞Ε͍ͯͳ͍
"1'4มΛ͠ͳ͍ "1'4ͰϑΝΠϧγεςϜϨΠϠʔͰ6OJDPEFਖ਼نԽΛ͍ͯ͠ͳ͍ ࠒ͔ΒNBDΛ࢝Ίଟ͘ͷ"QQMFͰ࠾༻͞Ε͍ͯΔ"1'4 "QQMF'JMF4ZTUFN ɺϑΝΠϧ γεςϜϨΠϠʔͰ6OJDPEFਖ਼نԽΛ͠ͳ͍ ͦΕ·ͰNBDͰ࠾༻͞Ε͍ͯͨ)'4 Ͱ/'%Ͱਖ਼نԽ͞Ε͍ͯͨ )'4 ˠ"1'4ͷҠߦظʹࠞཚ͕͋ͬͨΒ͘͠ɺਖ਼نԽͷҧ͏ϑΝΠϧΛࠞࡏͤ͞Δ͜ͱ͕Ͱ͖ͨ
ˡҠߦظͷϑΝΠϧ ݟ͕ͨಉ໊ͷϑΝΠϧ͕ෳ͋ΓɺΧΦε ࢀߟIUUQTFDMFDUJDMJHIUDPBQGTJTDVSSFOUMZVOVTBCMFXJUINPTU OPOFOHMJTIMBOHVBHFT
"1'46OJDPEFਖ਼نԽΛ͠ͳ͍ͷͳΒɺಉ໊ʹݟ͑ΔϑΝΠϧΛ࡞ΕͪΌ͏Μ͡Όʁ ϥϯλΠϜਖ਼نԽʹΑΓɺಉ໊ʹݟ͑ΔϑΝΠϧ࡞Εͳ͍Α͏ʹͳ͍ͬͯΔ ݱࡏͷNBD04Ͱ࡞Εͳ͍Α͏ʹͳ͍ͬͯΔ NBD04Ҏ߱ͰɺಡΈࠐΈ࣌ʹࢦఆ͞Εͨਖ਼نԽख๏ͷϑΝΠϧ͕ͳ͍߹ɺଞख๏Λࢼͯ͠ ϑΝΠϧΛ୳͢ɺϥϯλΠϜਖ਼نԽ͕ߦΘΕ͍ͯΔɻ ʮσʢaVDʣʯͱ͍͏ϑΝΠϧ͕ͳ͍߹ɺʮσʢaVDaVʣʯ୳ͯ͘͠ΕΔɻ ॻ͖ࠐΈ࣌ʢϑΝΠϧ࡞࣌ʣʹਖ਼نԽ͠ͳ͍ͷͰͲͪΒͷܗࣜͷϑΝΠϧ࡞ΕΔ͕ɺ࡞લʹط ଘϑΝΠϧ͕ͳ͍͔ΛνΣοΫ͢Δɻ͜ͷͱ͖ʹϥϯλΠϜਖ਼نԽΛͬͯطଘϑΝΠϧΛ୳͢ͷͰɺ ผख๏Ͱਖ਼نԽ͞ΕͨϑΝΠϧ໊͕͋Δ߹ɺϑΝΠϧͭ͘ΒΕͳ͍ɻˠಉ໊ʹݟ͑ΔϑΝΠϧ࡞
ΒΕͳ͍ɻ
ΞϓϦέʔγϣϯ͝ͱͷਖ਼نԽରԠ 'JOEFS /'%ͳͷͰίʔυϙΠϯτͷҧ͏ϑΝΠϧ࡞ෆೳ NLEJS UPVDIίϚϯυ ਖ਼نԽͳ͠ͳͷͰҧ͏ίʔυϙΠϯτͷσΟϨΫτϦϑΝΠϧ࡞Մೳɻͨͩ͠࡞લʹϥϯλ ΠϜਖ਼نԽͰϑΝΠϧͷଘࡏ֬ೝ͕͋ΔͷͰɺಉ͡ʹݟ͑ΔσΟϨΫτϦΛॏෳͯ͠࡞͢Δ͜ͱ Ͱ͖ͳ͍ɻ
NW DQίϚϯυ ࢀরϑΝΠϧΛϥϯλΠϜਖ਼نԽͰ୳ࡧ͢ΔɻͳͷͰ࣮ମϑΝΠϧ͕ͲͪΒͷਖ਼نԽͰ͋ͬͯࢀর Մೳɻ ҰํҠಈɾίϐʔઌϑΝΠϧ໊ਖ਼نԽ͞Εͳ͍ɻ͔͠͠Ҡಈɾίϐʔઌʹ͢ͰʹϑΝΠϧ͕͋Δ͔ ͷνΣοΫϥϯλΠϜਖ਼نԽͰߦΘΕɺଘࡏ͍ͯ͠Εૢ࡞Ωϟϯηϧ͞ΕΔɻ
ΞϓϦέʔγϣϯ͝ͱͷਖ਼نԽରԠ MTίϚϯυ NW DQͱಉ༷ͰϥϯλΠϜਖ਼نԽͰϑΝΠϧΛࢀর͢ΔͷͰɺ࣮ମϑΝΠϧ͕ͲͪΒͷਖ਼نԽͰ͋ͬ ͯࢀরՄೳ ྆ํͷਖ਼نԽΛࢦఆ͢Δͱ࣮ମ̍ϑΝΠϧͰͭ͋ΔΈ͍ͨʹݟ͑ΔͷͰࠞཚ͢Δ σʢaVDʣ σʢaVDaVʣ
HJU/'$Ͱਖ਼نԽ HJU/'$Ͱ6OJDPEFਖ਼نԽ͍ͯ͠Δ HJU/'$Ͱ ʮσʯˠʮςʯ ʮʃʯˠʮσʯʹਖ਼نԽ͍ͯ͠Δ ͜Ε/'$ͳ-JOVYͳXJOEPXTͱͷؒͰϑΝΠϧͷΓऔΓΛΓ͘͢͢ΔͨΊ͔ͱߟ͑ΒΕΔ DPSFQSFDPNQPTFVOJDPEFͷઃఆΛGBMTFʢHJUdͰσϑΥϧτUSVFʣʹ͓ͯ͘͠ͱਖ਼نԽΛ ແޮԽͰ͖Δ
74$PEFͷਖ਼نԽରԠʁ 74$PEFࣗਖ਼نԽ͠ͳ͍͕ɺϓϥάΠϯͰਖ਼نԽՄೳ 74$PEFࣗମਖ਼نԽ͠ͳ͍ͷͰɺʮσʢaVDʣʯʮσʢaVDaVʣʯॻ͖͚͕Մೳ 6OJDPEF/PSNBMJ[FSͱ͍͏ϓϥάΠϯΛ͏͜ͱͰਖ਼نԽ͢Δ͜ͱՄೳ
QZUIPO QZUIPO/',$Ͱਖ਼نԽ͍ͯ͠Δ QZUIPOͰࣈ۟ղੳ࣌ʹɺ/',$ʢಉҰจࣈఆ͕ΏΔ͘ɺͱᶃͱ͔ಉҰͱΈͳ͢ख๏ʣ Ͱਖ਼نԽ͞Ε͍ͯΔ ͦͷͨΊɺʢΒͳ͍ͱࢥ͏͕ʣม໊ΛʮσʢaVDʣʯͰʮσʢaVDaVʣʯ ॻ͖͚Δ͜ͱͰ͖ͳ͍ ·ͨɺ/'%Ͱ͋Δ'JOEFSͰ࡞ͨ͠ϑΝΠϧʮσʢaVDaVʣQZʯΛJNQPSU͢Δ͜ ͱͰ͖ͳ͍ɻ
ରࡦ HJUͰDPNNJUͨ͠ϑΝΠϧ໊ͱผϑΝΠϧʹهࡌ͍ͯ͠ΔϦϯΫ໊ͷਖ਼نԽख๏ ͕ͣΕΔͱɺϦϯΫ͕ḷΕͳ͘ͳͬͯࠔΔ ରࡦຊޠจࣈ߹ͷ͍͜͠ݴޠΛΘͳ͍ ରࡦ$*ͰυΩϡϝϯτதͷจࣈྻΛਖ਼نԽ͢Δ ରࡦ74$PEFͷϓϥάΠϯͰखݩͰਖ਼نԽ͓ͯ͘͠