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
モンスターストライクのマスターデータのローカライズ運用について / Operation of ...
Search
Tomohiro Koike
December 12, 2019
Technology
1
990
モンスターストライクのマスターデータのローカライズ運用について / Operation of Monster-Strike master data localization /
Tomohiro Koike
December 12, 2019
Tweet
Share
More Decks by Tomohiro Koike
See All by Tomohiro Koike
SRE NEXT 2024で得た知見を若手のSREエンジニア育成・採用にどう活かしたか
tmkoikee
1
150
2023-10-31-SRE-MIXITECHTALK.pdf
tmkoikee
0
310
全社横断組織でのAWSコスト最適化への取り組み
tmkoikee
1
640
新規ゲームのリリース(開発)前からのSRE活動
tmkoikee
1
6.8k
delightworks-tech-night-1
tmkoikee
2
1.6k
モンストのマルチクラウドについて / sre-lounge-at-xflag
tmkoikee
1
5.4k
モンスターストライク海外版でのSREの取り組み / xflag-studio-sre-in-global
tmkoikee
2
2.4k
Other Decks in Technology
See All in Technology
Application Development WG Intro at AppDeveloperCon
salaboy
0
180
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
Lexical Analysis
shigashiyama
1
150
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
210
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
How GitHub (no longer) Works
holman
310
140k
Navigating Team Friction
lara
183
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
What's in a price? How to price your products and services
michaelherold
243
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Designing Experiences People Love
moore
138
23k
Transcript
ϞϯελʔετϥΠΫͷϚελʔσʔλͷ ϩʔΧϥΠζӡ༻ ։ൃຊ෦ CTOࣨ SREάϧʔϓ খ༟ ϚελσʔλNight #1 XFLAG
͝ѫࡰ 㟬ʂ 2
ࣗݾհ • ։ൃຊ෦ CTOࣨ SREάϧʔϓॴଐ • ීஈͷۀ • ϞϯελʔετϥΠΫͷ֤ϦʔδϣϯͷSREۀ •
Πϯϑϥͷӡ༻ۀ 3
ຊͷ͓ॻ͖
ຊͷ͓ॻ͖ •ϞϯελʔετϥΠΫͷւ֎൛ •Ϛελʔσʔλʹ͍ͭͯ •՝ͱվળ •͍͔ͭ͘ͷࣄྫ 5
ϞϯελʔετϥΠΫւ֎൛ʹ͍ͭͯ
ւ֎൛ʹ͍ͭͯ • ൟମࣈ൛ • ओʹൟମࣈݍͰͷల։ • ɾ߳ߓɾᖏ(ϚΧΦ)͚ • ؆ମࣈ൛ •
ओʹ؆ମࣈݍͰͷల։ • தࠃେ͚ 7
ϞϯελʔετϥΠΫͷϚελʔσʔλ
Ϛελʔσʔλ • ήʔϜͰར༻͞ΕΔσʔλ • ΩϟϥΫλఢͷύϥϝʔλ • ֤छϝοηʔδ • ԋग़ͷઃఆ •
֤εςʔδͰͷใetc.. • ͜ΕΒશͯϚελʔσʔλͱͯ͠ཧ 9
Ϛελʔσʔλ • σʔλଟ༷ͳcsvϑΝΠϧͱͯ͠ཧ • ήʔϜͷ໘ന͞Λ࢘Δॏཁͳσʔλ 10
Ϛελʔσʔλ • Ϛελʔσʔλ(ͷྫ) ID, Ωϟϥ໊, ߈ܸྗ, HP, ετϥΠΫγϣοτ 1, ΩϟϥΫλ1,
1000, 1000, 100 2, ΩϟϥΫλ2, 1000, 5000, 200 3, ΩϟϥΫλ3, 2000, 3000, 300 4, ΩϟϥΫλ4, 5000, 9999, 400 … 11
ϞϯετͷϚελʔσʔλ •σʔλΛαʔόʹΠϯϙʔτ •Πϯϙʔτͨ͠σʔλΛΫϥΠΞϯτʹฦ͢ 12
՝ͱվળ(ࣄྫͦͷ̍)
ϩʔΧϥΠζσʔλͷӡ༻ • ϩʔΧϥΠζσʔλ࡞ͷେ·͔ͳϑϩʔ 14 Ϛελʔσʔλ ʢຊ൛:ΦϦδφϧʣ Ϛελʔσʔλ ʢϩʔΧϥΠζ൛ʣ ϩʔΧϥΠζ൛اըӡӦ ୲ऀ
༁୲ऀ
ϩʔΧϥΠζσʔλͷӡ༻ • ຊ൛ͰϦϦʔε͞ΕͨͷΛར༻ • ͦͷ··͏Θ͚Ͱͳ͍(͑ͳ͍) • ֤ϦʔδϣϯͷಠࣗཁૉΛՃɾมߋ • ಠࣗͷΩϟϥetc… •
֤୲ऀ͕࡞ۀΛ୲ 15
ϩʔΧϥΠζσʔλͷӡ༻ ͦͷ݁Ռ 16
ϩʔΧϥΠζσʔλͷӡ༻ • ࣄނଟൃʂ 17
ւ֎൛Ͱͷӡ༻ • ύϥϝʔλ͕͋Γ͑ͳ͍ʹͳͬͯͨ • ඞਢ߲͕ൈ͚མͪͯͨ • ͳͲͳͲ… 18
ϩʔΧϥΠζσʔλͷӡ༻ Ͳ͏͢Δ͔ 19
σʔλࣄނͷվળ • σʔλΛνΣοΫ͢ΔΈ • Jenkins ʹΑΔCI • ͋Γ͑ͳ͍ͷύϥϝʔλ • ඞਢ߲ͷೖྗ࿙ΕͳͲ
20
σʔλࣄނͷվળ Ϛελʔσʔλ νΣοΫ݁Ռ CI ݁ՌΛ֬ೝ σʔλΛνΣοΫ͔ͯ͠Β Πϯϙʔτ
σʔλࣄނͷվળ ۩ମతͳνΣοΫ 22
σʔλࣄނͷվળ • λΠϜκʔϯͷνΣοΫ • ‘2019-12-12 19:30’ ͍ͬͯͭͷʁ • ‘2019-12-12 19:30
+0800’ͱهࡌ͢ΔΑ͏ʹ 23
σʔλࣄނͷվળ 24 • ຖมΘΔΩϟϯϖʔϯ ID,Ωϟϯϖʔϯ໊, start, end, 1,Ωϟϯϖʔϯ1,2019-12-10 0:00,2019-12-10 23:59,
2,Ωϟϯϖʔϯ2,2019-12-11 0:00,2019-12-11 23:59, 3,Ωϟϯϖʔϯ3,2019-12-12 0:00,2019-12-12 23:59, …
σʔλࣄނͷվળ 25 • ۭനͷ59ඵ ID,Ωϟϯϖʔϯ໊, start, end, 1,Ωϟϯϖʔϯ1,2019-12-10 0:00:00,2019-12-10 23:59:00,
2,Ωϟϯϖʔϯ2,2019-12-11 0:00:00,2019-12-11 23:59:00, 3,Ωϟϯϖʔϯ3,2019-12-12 0:00:00,2019-12-12 23:59:00, …
՝ͱվળ(ࣄྫͦͷ̎)
ϩʔΧϥΠζσʔλͷӡ༻ • ༻ޠΛ֤Ϧʔδϣϯ༻ʹ༁ • Ωϟϥ໊ͳͲ • ୲ऀ͕ҰͭҰͭ༁͢Δ • ݩͷຊ൛σʔλͱݟൺͳ͕Βฤू 27
ϩʔΧϥΠζσʔλͷӡ༻ • ະ༁ͷͷ(ຊޠදه)͕ͬͯΔ • ༁ͷදه༳Ε • ྫɿ(ຊޠͰͷྫ͑) • ʮ։࢝ʯʮ࢝ΊΔʯʮελʔτʯ͕ࠞࡏ 28
ϩʔΧϥΠζσʔλͷӡ༻ ͦͷ݁Ռ 29
ϩʔΧϥΠζσʔλͷӡ༻ • ࣄނଟൃʂ 30
ϩʔΧϥΠζσʔλͷӡ༻ Ͳ͏͢Δ͔ 31
σʔλࣄނͷվળ • Po4aΛར༻ͨࣗ͠ಈ༁Λಋೖ • Po4a (Po for anything) • gettextͷpoϑΝΠϧΛར༻͢Δπʔϧ
• https://po4a.org/ 32
σʔλࣄނͷվળ • ༁ͷࣙॻΛpoϑΝΠϧͰཧ • ৭ʑͳϑΝΠϧϑΥʔϚοτʹద༻ • ରԠϑΥʔϚοτ: csv, XML, Markdown,
etc • ༨ܭͳ༁͕͞Εͳ͍ • ͜͜ॏཁ 33
po4aͷಈ࡞֓೦ “େ߸ྩ”:””, “ϧγϑΝʔ”:”” 1, ϧγϑΝʔ, 100, 12345, େ߸ྩ “େ߸ྩ”:“େᥒྩ”, “ϧγϑΝʔ”:“࿏๏”
1, ϧγϑΝʔ, 100, 2345, େ߸ྩ 1, ࿏๏, 100, 2345, େᥒ ༁͞ΕͨޠΛ༻ҙ $ po4a-gettextize -f csv -m data.csv -p translation.po $ po4a-translate -f csv -m data.csv -p translation.po -l output.csv
σʔλࣄނͷվળ • Po4a Λར༻ͨ͠Ϛελʔσʔλ༁ • ୯ޠͱͦͷ༁ޠΛूΊͨpoϑΝΠϧ࡞ • ݩͷσʔλʹpoϑΝΠϧΛద༻ͯ͠ւ֎൛ σʔλΛੜ͢Δ •
ຊ൛ͷैࣗಈతʹpoϑΝΠϧΛߋ৽
Ϛελʔσʔλ༁ͷྲྀΕ ຊ൛σʔλ (CSV) poϑΝΠϧ (ຊޠͷ୯ޠू) poϑΝΠϧ (ຊޠͱ༁ޠ) ւ֎൛σʔλ (CSV) ༁୲ऀ͕༁
͢Δ po4aͰநग़ ༁
՝ͱվળ(ࣄྫͦͷ̏)
ϩʔΧϥΠζσʔλͷӡ༻ • σʔλͷฤूࠩ • ༁୲ऀͰಠࣗͰ࡞ۀ • աڈͷܦҢΛ͑ͳ͍ 38
ϩʔΧϥΠζσʔλͷӡ༻ ͦͷ݁Ռ 39
ϩʔΧϥΠζσʔλͷӡ༻ • ࣄނଟൃʂ 40
σʔλࣄނͷվળ • ༁୲ऀͷํͨͪʹPRӡ༻ͯ͠Β͏ • poϑΝΠϧ͕ฤू͞ΕͨΒ • Ҏલͷσʔλͱൺֱ(CI) • ༁ϛεɺ࿙ΕͳͲΛ͙
Ϛελʔσʔλ༁ͷྲྀΕ ຊ൛σʔλ ༁ϑΝΠϧ ༁ϑΝΠϧͷมߋΛ PullRequest͢Δ ւ֎൛σʔλ ւ֎൛σʔλ ༁݁ՌΛൺֱɾϨϏϡʔ
ւ֎൛Ͱͷӡ༻ • ւ֎൛ͷاը୲ऀɾ༁୲ऀͷڠྗ • PRӡ༻ʹڠྗతͩͬͨͷӡ • ܒɾϨΫνϟʔେࣄ 43
·ͱΊ
·ͱΊ • Ϟϯετൟମࣈɾ؆ମࣈ൛Ͱͷࣄྫ • σʔλͷςετ • ϩʔΧϥΠζ(༁)ͰͷΈ • ܧଓతʹվྑ͍ͯ͘͠ •
ΰʔϧͳ͍
Thank You
None