Design: μœ λ‹ˆμ½”λ“œ μ •κ·œν™”

에 λ§Œλ“  2017λ…„ 01μ›” 30일  Β·  6μ½”λ©˜νŠΈ  Β·  좜처: WebAssembly/design

#970μ—μ„œ λΆ„κΈ°: JS.mdλŠ” μœ λ‹ˆμ½”λ“œ μ •κ·œν™” 에 λŒ€ν•΄ μ΄μ•ΌκΈ°ν•©λ‹ˆλ‹€.

ν•΄λ‹Ή λ¬Έμ„œμ˜ κ°„λ‹¨ν•œ 예: λ‚΄ 이름 "Jean-FranΓ§ois Bastien"은 λ‹€μŒ 두 가지 λ°©λ²•μœΌλ‘œ μ •κ·œν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Γ‡ ↔ C+β—ŒΜ§

이것은 μœ λ‹ˆμ½”λ“œλ‘œ 된 멋진 λ¬Έμ œμž…λ‹ˆλ‹€. JS와 wasm을 μ—°κ²°ν•˜λŠ” λ™μ•ˆ μƒμ‚°μžμ™€ μ†ŒλΉ„μžμ—κ²Œ 무엇을 κΈ°λŒ€ν•΄μ•Ό ν•˜λŠ”μ§€ μ•„λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” μ •κ·œν™”ν•˜μ§€ μ•ŠκΈ°λ‘œ 선택할 μˆ˜λ„ μžˆμ§€λ§Œ κ·Έλ ‡κ²Œ 말해야 ν•©λ‹ˆλ‹€.

JS.mdμ—μ„œ μ •κ·œν™”μ— λŒ€ν•΄ λ…Όμ˜ν•  수 μžˆλŠ” 4가지 방법이 μžˆμŠ΅λ‹ˆλ‹€.

  1. λΉ„μ •κ·œν™”λœ μž…λ ₯을 κΈˆμ§€/였λ₯˜/λ¬΄μ‹œν•©λ‹ˆλ‹€.
  2. wasm μž…λ ₯을 μžλ™μœΌλ‘œ μ •κ·œν™”ν•˜κ³  μ •κ·œν™”λœ JS 값을 λΉ„κ΅ν•©λ‹ˆλ‹€.
  3. wasm μž…λ ₯을 μžλ™μœΌλ‘œ μ •κ·œν™”ν•˜κ³  μ‚¬μš©μžκ°€ normalize λ₯Ό ν˜ΈμΆœν•  κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€.
  4. 아무것도 μ •μƒν™”ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

2. λ˜λŠ” 3.을 μ„ νƒν•˜λ©΄ μš°λ¦¬κ°€ κΈ°λŒ€ν•˜λŠ” μ •κ·œν™” ν˜•μ‹μ„ 지정해야 ν•©λ‹ˆλ‹€(λ¬Όλ‘  μ •κ·œν™”μ—λŠ” μ—¬λŸ¬ ν˜•μ‹μ΄ 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€).

importexports

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

convertToJSString ν•¨μˆ˜ Web.md#namesκ°€ 이미 4λ₯Ό μ§€μ •ν–ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ •κ·œν™”κ°€ λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” λͺ…ν™•ν•œ ν…μŠ€νŠΈλ₯Ό μΆ”κ°€ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  6 λŒ“κΈ€

1, 2, 3은 JS μ—”μ§„μ˜ λ‚œν•΄ν•œ 버그에 λŒ€ν•œ 쒋은 μ†ŒμŠ€μΈ 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” νˆ¬ν‘œ 4.

convertToJSString ν•¨μˆ˜ Web.md#namesκ°€ 이미 4λ₯Ό μ§€μ •ν–ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ •κ·œν™”κ°€ λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” λͺ…ν™•ν•œ ν…μŠ€νŠΈλ₯Ό μΆ”κ°€ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

@lukewagner에 λ™μ˜ν–ˆμŠ΅λ‹ˆλ‹€.

FWIW, CSS도 μ „ν˜€ μ •κ·œν™”λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

예, μ›Ή ν”Œλž«νΌμ˜ μ–΄λ–€ 것도 JavaScript의 string.normalize() 및 URL의 IDNA 외에 μœ λ‹ˆμ½”λ“œ μ •κ·œν™”λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 4λŠ” ν™•μ‹€νžˆ μ—¬κΈ°μ—μ„œ μ›ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

λ‹¬μ½€ν•œ. λ‚˜λŠ” μš°λ¦¬κ°€ μ΄λŸ¬ν•œ 결정을 λ¬Έμ„œν™”ν•˜κ³  ν•©μ˜μ— λ„λ‹¬ν–ˆλŠ”μ§€ ν™•μΈν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 폐쇄.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰