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
32k
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
1.3k
gokartのキャッシュ競合防止のロック機能
mski_iksm
0
2.2k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
26k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3.1k
pythonでメタプログラミング(メタクラス編)
mski_iksm
1
470
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
200
Other Decks in Programming
See All in Programming
5つのアンチパターンから学ぶLT設計
narihara
1
140
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
270
技術同人誌をMCP Serverにしてみた
74th
1
510
エンジニア向け採用ピッチ資料
inusan
0
180
C++20 射影変換
faithandbrave
0
560
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
120
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
250
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
370
Deep Dive into ~/.claude/projects
hiragram
10
2.2k
CursorはMCPを使った方が良いぞ
taigakono
1
210
NPOでのDevinの活用
codeforeveryone
0
650
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
170
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Practical Orchestrator
shlominoach
188
11k
The Invisible Side of Design
smashingmag
300
51k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Into the Great Unknown - MozCon
thekraken
39
1.9k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
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ͷϓϥάΠϯͰखݩͰਖ਼نԽ͓ͯ͘͠