μ΄ κΈμ λ²μλ³Έμ
λλ€
λ΄κ° κ·Έκ²μ 보μμ λ
habrokat μ΄ν μ€μ λ‘ μΈλ―Έλ λ²μμ΄ μμλ©λλ€. λ
μλ₯Ό μ¦κΈ°μμμ€!
μ΄λ€ μμ μ μννλ νμ λ€μ μΈ λ¨κ³λ₯Ό κ±°μ³μΌ ν©λλ€.
- λ¬μ±νλ €λ λͺ©νλ₯Ό κ²°μ νμμμ€.
- λͺ©νλ₯Ό λ¬μ±νλ λ°©λ²μ κ²°μ ν©λλ€.
- λΉμ μ λͺ©νμ μ€μμμ€.
μ΄κ²μ νλ‘κ·Έλλ°μλ μ μ©λ©λλ€. μ½λλ₯Ό μμ±ν λ λ€μμ μνν΄μΌ ν©λλ€.
- νλ‘κ·Έλ¨μ΄ 무μμ ν΄μΌ νλμ§ κ²°μ ν©λλ€.
- μμ μ μννλ λ°©λ²μ κ²°μ ν©λλ€.
- ν΄λΉ μ½λλ₯Ό μμ±νμμμ€.
λ¬Όλ‘ λ§μ§λ§ λ¨κ³λ λ§€μ° μ€μνμ§λ§ μ€λμ κ·Έκ²μ λν΄ μ΄μΌκΈ°νμ§ μκ² μ΅λλ€. λμ μ²μ λ κ°μ§μ λν΄ μ€λͺ νκ² μ΅λλ€. λͺ¨λ νλ‘κ·Έλλ¨Έλ μμ μ μμνκΈ° μ μ μνν©λλ€. λΈλΌμ°μ λ₯Ό μμ±ν μ§ λ°μ΄ν°λ² μ΄μ€λ₯Ό μμ±ν μ§ κ²°μ νμ§ μλ ν κΈμ μ°κΈ° μν΄ μμ§ μμ΅λλ€. λͺ©νμ λν νΉμ μμ΄λμ΄κ° μμ΄μΌν©λλ€. κ·Έλ¦¬κ³ νλ‘κ·Έλ¨μ΄ μ νν 무μμ ν κ²μΈμ§ νμ€ν μκ°νκ³ μ½λκ° μ΄λ»κ² λ λΈλΌμ°μ λ‘ λ°λ κ²μ΄λΌλ ν¬λ§μΌλ‘ μ΄λ»κ² λ μμ±νμ§ λ§μμμ€.
μ΄ μ½λ μ¬μ μ¬κ³ λ μ νν μ΄λ»κ² λ°μν©λκΉ? μ¬κΈ°μ μΌλ§λ λ§μ λ Έλ ₯μ κΈ°μΈμ¬μΌ ν κΉμ? κ·Έκ²μ λͺ¨λ μ°λ¦¬κ° ν΄κ²°νκ³ μλ λ¬Έμ κ° μΌλ§λ 볡μ‘νκ°μ λ¬λ € μμ΅λλ€. λ΄κ²°ν¨μ± λΆμ° μμ€ν μ μμ±νλ€κ³ κ°μ ν©λλ€. μ΄ κ²½μ° μ½λλ₯Ό μμ±νκΈ° μ μ μ μ€νκ² μκ°ν΄μΌ ν©λλ€. μ μ λ³μλ₯Ό 1μ© μ¦κ°μν€λ©΄ μ΄λ»κ² λ©λκΉ? μΈλ» 보기μ μ¬κΈ°μμλ λͺ¨λ κ²μ΄ μ¬μνκ³ μκ°ν νμκ° μμ§λ§ μ€λ²νλ‘κ° λ°μν μ μμμ κΈ°μ΅ν©λλ€. λ°λΌμ λ¬Έμ κ° λ¨μνμ§ λ³΅μ‘νμ§ μ΄ν΄νκΈ° μν΄μλΌλ λ¨Όμ μκ°ν νμκ° μμ΅λλ€.
λ¬Έμ μ λν κ°λ₯ν ν΄κ²°μ± μ 미리 μκ°νλ©΄ μ€μλ₯Ό νΌν μ μμ΅λλ€. κ·Έλ¬λ μ΄λ κ² νλ €λ©΄ μκ°μ΄ λͺ νν΄μΌ ν©λλ€. μ΄λ₯Ό λ¬μ±νλ €λ©΄ μκ°μ μ μ΄μΌ ν©λλ€. λλ Dick Guindonμ μΈμ©λ¬Έμ μ λ§ μ’μν©λλ€. "κΈμ μΈ λ μμ°μ λΉμ μ μκ°μ΄ μΌλ§λ μμ±νμ§ λ³΄μ¬μ€λλ€." κΈμ μ°μ§ μμΌλ©΄ μκ°νκ³ μλ€κ³ μκ°ν λΏμ λλ€. κ·Έλ¦¬κ³ λΉμ μ μκ°μ λͺ μΈμ ννλ‘ μ μ΄μΌ ν©λλ€.
μ¬μμ νΉν λκ·λͺ¨ νλ‘μ νΈμμ λ§μ κΈ°λ₯μ μνν©λλ€. κ·Έλ¬λ λλ κ·Έ μ€ ν κ°μ§μ λν΄μλ§ μ΄μΌκΈ°ν κ²μ λλ€. κ·Έκ²λ€μ μ°λ¦¬κ° λͺ ννκ² μκ°νλλ‘ λμμ€λλ€. λͺ ννκ² μκ°νλ κ²μ λ§€μ° μ€μνκ³ λ§€μ° μ΄λ ΅κΈ° λλ¬Έμ μ¬κΈ°μμ λμμ΄ νμν©λλ€. μ΄λ€ μΈμ΄λ‘ μ¬μμ μμ±ν΄μΌ ν©λκΉ? μΌλ°μ μΌλ‘ μ΄κ²μ νλ‘κ·Έλλ¨Έμκ² νμ 첫 λ²μ§Έ μ§λ¬Έμ λλ€. μ΄λ€ μΈμ΄λ‘ μμ±ν κ²μΈμ§μ λλ€. μ΄μ λν μ λ΅μ μμ΅λλ€. μ°λ¦¬κ° ν΄κ²°νκ³ μλ λ¬Έμ λ λ무 λ€μν©λλ€. λκ΅°κ°μκ² TLA+λ λ΄κ° κ°λ°ν μ¬μ μΈμ΄μ λλ€. λ€λ₯Έ μ¬λλ€μκ²λ μ€κ΅μ΄λ₯Ό μ¬μ©νλ κ²μ΄ λ νΈλ¦¬ν©λλ€. λͺ¨λ κ²μ μν©μ λ¬λ € μμ΅λλ€.
λ μ€μν κ²μ λ λ€λ₯Έ μ§λ¬Έμ λλ€. λ λͺ νν μ¬κ³ λ₯Ό λ¬μ±νλ λ°©λ²μ 무μμ λκΉ? λλ΅: μ°λ¦¬λ κ³Όνμμ²λΌ μκ°ν΄μΌ ν©λλ€. μ΄κ²μ μ§λ 500λ λμ μ μ¦λ μ¬κ³ λ°©μμ λλ€. κ³Όνμμ μ°λ¦¬λ νμ€μ μνμ λͺ¨λΈμ ꡬμΆν©λλ€. μ²λ¬Ένμ μλ§λ μλ°ν μλ―Έμμ μ΅μ΄μ κ³Όνμ΄μμ κ²μ λλ€. μ²λ¬Ένμμ μ¬μ©λλ μνμ λͺ¨λΈμμ μ²μ²΄λ μ§λ, μμΉ λ° μ΄λλμ κ°μ§ μ μΌλ‘ λνλμ§λ§ μ€μ λ‘λ μ°κ³Ό λ°λ€, μ‘°μμ μ‘°μλ₯Ό κ°μ§ λ§€μ° λ³΅μ‘ν 물체μ λλ€. μ΄ λͺ¨λΈμ λ€λ₯Έ κ²κ³Ό λ§μ°¬κ°μ§λ‘ νΉμ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ§λ€μ΄μ‘μ΅λλ€. νμ±μ μ°ΎμμΌ νλ κ²½μ° λ§μκ²½μ΄ κ°λ¦¬ν€λ μμΉλ₯Ό κ²°μ νλ λ° μ μ©ν©λλ€. νμ§λ§ μ΄ νμ±μ λ μ¨λ₯Ό μμΈ‘νκ³ μΆλ€λ©΄ μ΄ λͺ¨λΈμ μλνμ§ μμ κ²μ λλ€.
μνμ ν΅ν΄ λͺ¨λΈμ μμ±μ κ²°μ ν μ μμ΅λλ€. κ·Έλ¦¬κ³ κ³Όνμ μ΄λ¬ν μμ±μ΄ νμ€κ³Ό μ΄λ»κ² κ΄λ ¨λλμ§ λ³΄μ¬μ€λλ€. μ°λ¦¬μ κ³Όν, μ»΄ν¨ν° κ³Όνμ λν΄ μ΄μΌκΈ°ν΄ λ΄ μλ€. μ°λ¦¬κ° μμ νλ νμ€μ νλ‘μΈμ, κ²μ μ½μ, μ»΄ν¨ν°, νλ‘κ·Έλ¨ μ€ν λ± λ€μν μ’ λ₯μ μ»΄ν¨ν μμ€ν μ λλ€. μ»΄ν¨ν°μμ νλ‘κ·Έλ¨μ μ€ννλ κ²μ λν΄ μ΄μΌκΈ°νκ² μ§λ§ λμ²΄λ‘ μ΄λ¬ν λͺ¨λ κ²°λ‘ μ λͺ¨λ μ»΄ν¨ν μμ€ν μ μ μ©λ©λλ€. μ°λ¦¬ κ³Όνμμλ νλ§ κΈ°κ³, λΆλΆμ μΌλ‘ μ λ ¬λ μ΄λ²€νΈ μΈνΈ λ± λ€μν λͺ¨λΈμ μ¬μ©ν©λλ€.
νλ‘κ·Έλ¨μ΄λ 무μμ λκΉ? μ΄κ²μ λ 립μ μΌλ‘ κ°μ£Όν μ μλ λͺ¨λ μ½λμ λλ€. λΈλΌμ°μ λ₯Ό μμ±ν΄μΌ νλ€κ³ κ°μ ν©λλ€. μ°λ¦¬λ μΈ κ°μ§ μμ μ μνν©λλ€. νλ‘κ·Έλ¨μ λν μ¬μ©μ κ΄μ μ λμμΈν λ€μ νλ‘κ·Έλ¨μ μμ μμ€ λ€μ΄μ΄κ·Έλ¨μ μμ±νκ³ λ§μ§λ§μΌλ‘ μ½λλ₯Ό μμ±ν©λλ€. μ½λλ₯Ό μμ±νλ©΄μ ν μ€νΈ ν¬λ§·ν°λ₯Ό μμ±ν΄μΌ νλ€λ κ²μ κΉ¨λ¬μμ΅λλ€. μ¬κΈ°μ λ€μ μΈ κ°μ§ λ¬Έμ λ₯Ό ν΄κ²°ν΄μΌ ν©λλ€. μ΄ λκ΅¬κ° λ°νν ν μ€νΈλ₯Ό κ²°μ ν©λλ€. ν¬λ§· μκ³ λ¦¬μ¦μ μ ννμμμ€. μ½λλ₯Ό μμ±ν©λλ€. μ΄ μμ μλ μ체 νμ μμ μ΄ μμ΅λλ€. λ¨μ΄μ νμ΄νμ μ¬λ°λ₯΄κ² μ½μ νμμμ€. λν μ΄ νμ μμ μ μΈ λ¨κ³λ‘ ν΄κ²°ν©λλ€. 보μλ€μνΌ μ¬λ¬ λ¨κ³μμ λ°λ³΅λ©λλ€.
첫 λ²μ§Έ λ¨κ³μΈ νλ‘κ·Έλ¨μ΄ ν΄κ²°νλ λ¬Έμ λ₯Ό λ μμΈν μ΄ν΄λ³΄κ² μ΅λλ€. μ¬κΈ°μμ μ°λ¦¬λ νλ‘κ·Έλ¨μ μΌλΆ μ λ ₯μ λ°κ³ μΌλΆ μΆλ ₯μ μμ±νλ ν¨μλ‘ κ°μ₯ μμ£Ό λͺ¨λΈλ§ν©λλ€. μνμμ ν¨μλ μΌλ°μ μΌλ‘ μμ μμ μ§ν©μΌλ‘ μ€λͺ λ©λλ€. μλ₯Ό λ€μ΄, μμ°μμ λν μ κ³± ν¨μλ {<0,0>, <1,1>, <2,4>, <3,9>, β¦} μ§ν©μΌλ‘ μ€λͺ λ©λλ€. μ΄λ¬ν ν¨μμ λλ©μΈμ κ° μμ 첫 λ²μ§Έ μμ μ§ν©, μ¦ μμ°μμ λλ€. ν¨μλ₯Ό μ μνλ €λ©΄ λ²μμ 곡μμ μ§μ ν΄μΌ ν©λλ€.
κ·Έλ¬λ μνμ ν¨μλ νλ‘κ·Έλλ° μΈμ΄μ ν¨μμ κ°μ§ μμ΅λλ€. μνμ΄ ν¨μ¬ μ½μ΅λλ€. 볡μ‘ν μμ λ₯Ό ν μκ°μ΄ μκΈ° λλ¬Έμ κ°λ¨ν μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. Cμ ν¨μ λλ λ μ μμ μ΅λ 곡μ½μλ₯Ό λ°ννλ Javaμ μ μ λ©μλμ
λλ€. μ΄ λ°©λ²μ μ¬μμμ λ€μκ³Ό κ°μ΄ μμ±ν©λλ€. GCD(M,N)
μΈμ M
ΠΈ N
μ΄λμμ GCD(M,N)
- λλ©μΈμ΄ μ μ μμ μ§ν©μ΄κ³ λ°ν κ°μ΄ λ€μμΌλ‘ λλ μ μλ κ°μ₯ ν° μ μμΈ ν¨μ M
ΠΈ N
. μ΄ λͺ¨λΈμ νμ€κ³Ό μ΄λ€ κ΄λ ¨μ΄ μμ΅λκΉ? λͺ¨λΈμ μ μμμ μλνμ§λ§ C λλ Javaμμλ 32λΉνΈ int
. μ΄ λͺ¨λΈμ μ¬μ©νλ©΄ μκ³ λ¦¬μ¦μ΄ μ¬λ°λ₯Έμ§ κ²°μ ν μ μμ΅λλ€. GCD
, κ·Έλ¬λ μ€λ²νλ‘ μ€λ₯λ₯Ό λ°©μ§νμ§λ μμ΅λλ€. μ΄λ₯Ό μν΄μλ μκ°μ΄ μλ λ³΄λ€ λ³΅μ‘ν λͺ¨λΈμ΄ νμν©λλ€.
λͺ¨λΈλ‘μμ ν¨μμ νκ³μ λν΄ μ΄μΌκΈ°ν΄ λ΄ μλ€. μΌλΆ νλ‘κ·Έλ¨(μ: μ΄μ 체μ )μ νΉμ μΈμμ λν΄ νΉμ κ°μ λ°νν λΏ μλλΌ κ³μ μ€νν μ μμ΅λλ€. λν λͺ¨λΈλ‘μμ κΈ°λ₯μ λ¬Έμ ν΄κ²° λ°©λ²μ κ³ννλ λ λ²μ§Έ λ¨κ³μ μ ν©νμ§ μμ΅λλ€. ν΅ μ λ ¬κ³Ό λ²λΈ μ λ ¬μ κ°μ ν¨μλ₯Ό κ³μ°νμ§λ§ μμ ν λ€λ₯Έ μκ³ λ¦¬μ¦μ λλ€. λ°λΌμ νλ‘κ·Έλ¨μ λͺ©νκ° μ΄λ»κ² λ¬μ±λλμ§ μ€λͺ νκΈ° μν΄ λ€λ₯Έ λͺ¨λΈμ μ¬μ©ν©λλ€. μ΄λ₯Ό νμ€ νλ λͺ¨λΈμ΄λΌκ³ νκ² μ΅λλ€. κ·Έ μμ νλ‘κ·Έλ¨μ νμ© κ°λ₯ν λͺ¨λ νλμ μ§ν©μΌλ‘ ννλλ©°, κ°κ°μ μΌλ ¨μ μνμ΄λ©° μνλ λ³μμ κ°μ ν λΉνλ κ²μ λλ€.
Euclid μκ³ λ¦¬μ¦μ λ λ²μ§Έ λ¨κ³κ° μ΄λ»κ² μκ²Όλμ§ λ΄
μλ€. μ°λ¦¬λ κ³μ°ν΄μΌν©λλ€ GCD(M, N)
. μ΄κΈ°ννλ€ M
ΠΊΠ°ΠΊ x
κ³Ό N
ΠΊΠ°ΠΊ y
κ·Έλ° λ€μ λ λ³μκ° κ°μμ§ λκΉμ§ λ ν° λ³μμμ λ μμ λ³μλ₯Ό λ°λ³΅ν΄μ λΊλλ€. μλ₯Ό λ€μ΄, M = 12
κ³Ό N = 18
, λ€μ λμμ μ€λͺ
ν μ μμ΅λλ€.
[x = 12, y = 18] β [x = 12, y = 6] β [x = 6, y = 6]
κ·Έλ¦¬κ³ λ§μ½ M = 0
ΠΈ N = 0
? XNUMXμ λͺ¨λ μ«μλ‘ λλ μ μμΌλ―λ‘ μ΄ κ²½μ°μλ μ΅λ μ½μκ° μμ΅λλ€. μ΄ μν©μμ μ°λ¦¬λ 첫 λ²μ§Έ λ¨κ³λ‘ λμκ°μ λ€μκ³Ό κ°μ΄ μ§λ¬Έν΄μΌ ν©λλ€. μμκ° μλ μ«μμ λν΄ GCDλ₯Ό κ³μ°ν΄μΌ ν©λκΉ? μ΄κ²μ΄ νμνμ§ μμ κ²½μ° μ¬μμ λ³κ²½νκΈ°λ§ νλ©΄ λ©λλ€.
μ¬κΈ°μ μ°λ¦¬λ μμ°μ±μ λν΄ μ½κ°μ μ¬λ΄μ κ°μ ΈμΌ ν©λλ€. ν루μ μμ±λλ μ½λ μ€ μλ‘ μΈ‘μ λλ κ²½μ°κ° λ§μ΅λλ€. κ·Έλ¬λ λ²κ·Έμ μ¬μ§κ° μ κΈ° λλ¬Έμ νΉμ μμ μ€μ μ κ±°νλ©΄ μμ μ΄ ν¨μ¬ λ μ μ©ν©λλ€. μ½λλ₯Ό μ κ±°νλ κ°μ₯ μ¬μ΄ λ°©λ²μ 첫 λ²μ§Έ λ¨κ³μ λλ€. ꡬννλ €λ λͺ¨λ μ’ μ리μ ννλμ΄ νμνμ§ μμ μλ μμ΅λλ€. νλ‘κ·Έλ¨μ λ¨μννκ³ μκ°μ μ μ½νλ κ°μ₯ λΉ λ₯Έ λ°©λ²μ νμ§ λ§μμΌ ν μΌμ νμ§ μλ κ²μ λλ€. λ λ²μ§Έ λ¨κ³λ λ λ²μ§Έλ‘ μκ°μ κ°μ₯ λ§μ΄ μ μ½ν μ μλ μ μ¬λ ₯μ λλ€. μμ±λ μ€μ κ΄μ μμ μμ°μ±μ μΈ‘μ νλ©΄ μμ μ μννλ λ°©λ²μ λν΄ μκ°νλ©΄ λ μμ°μ , λ μ μ μ½λλ‘ λμΌν λ¬Έμ λ₯Ό ν΄κ²°ν μ μκΈ° λλ¬Έμ λλ€. μ€ν, μ¦ μ²« λ²μ§Έ λ¨κ³μ λ λ²μ§Έ λ¨κ³μ μκ°μ ν μ νμ¬ μμ±νμ§ μμ μ€ μλ₯Ό μ λ°©λ²μ΄ μκΈ° λλ¬Έμ μ¬κΈ°μ μ νν ν΅κ³λ₯Ό μ 곡ν μ μμ΅λλ€. κ·Έλ¦¬κ³ μ¬κΈ°μμλ μ€νμ μ€μ ν μ μμ΅λλ€. μ€νμμ μ°λ¦¬λ 첫 λ²μ§Έ λ¨κ³λ₯Ό μλ£ν κΆλ¦¬κ° μκΈ° λλ¬Έμ μμ μ΄ λ―Έλ¦¬ κ²°μ λ©λλ€.
λΉκ³΅μ μ¬μμ λ§μ μ΄λ €μμ κ°κ³ΌνκΈ° μ½μ΅λλ€. ν¨μμ λν μ격ν μ¬μμ μμ±νλ λ° μ΄λ €μ΄ κ²μ μμΌλ©° μ΄μ λν΄μλ λ Όμνμ§ μκ² μ΅λλ€. λμ νμ€ λμμ λν κ°λ ₯ν μ¬μμ μμ±νλ λ°©λ²μ λν΄ μ΄μΌκΈ°νκ² μ΅λλ€. 보μ μμ±μ μ¬μ©νμ¬ λͺ¨λ λμ μ§ν©μ μ€λͺ ν μ μλ€λ μ λ¦¬κ° μμ΅λλ€. (μμ ) λ° μμ‘΄ μμ± (μμν¨). 보μμ λμ μΌμ΄ λ°μνμ§ μμΌλ©° νλ‘κ·Έλ¨μ΄ μλͺ»λ λ΅λ³μ μ 곡νμ§ μμμ μλ―Έν©λλ€. μμ‘΄ κ°λ₯μ±μ μ‘°λ§κ° μ’μ μΌμ΄ μΌμ΄λ κ²μμ μλ―Έν©λλ€. μ¦, νλ‘κ·Έλ¨μ΄ μ‘°λ§κ° μ λ΅μ μ 곡ν κ²μ λλ€. μΌλ°μ μΌλ‘ 보μμ΄ λ μ€μν μ§νμ΄λ©° μ¬κΈ°μμ μ€λ₯κ° κ°μ₯ μμ£Ό λ°μν©λλ€. λ°λΌμ μκ°μ μ μ½νκΈ° μν΄ λ¬Όλ‘ μμ‘΄ κ°λ₯μ±λ μ€μνμ§λ§ μμ‘΄ κ°λ₯μ±μ λν΄ μ΄μΌκΈ°νμ§ μκ² μ΅λλ€.
λ¨Όμ κ°λ₯ν μ΄κΈ° μν μ§ν©μ κ·μ νμ¬ λ³΄μμ λ¬μ±ν©λλ€. λμ§Έ, κ° μνμ λν΄ κ°λ₯ν λͺ¨λ λ€μ μνμμ κ΄κ³μ
λλ€. κ³Όνμμ²λΌ νλνκ³ μνλ₯Ό μνμ μΌλ‘ μ μν΄ λ΄
μλ€. μ΄κΈ° μν μ§ν©μ μλ₯Ό λ€μ΄ Euclid μκ³ λ¦¬μ¦μ κ²½μ° κ³΅μμΌλ‘ μ€λͺ
λ©λλ€. (x = M) β§ (y = N)
. νΉμ κ°μ κ²½μ° M
ΠΈ N
μ΄κΈ° μνλ νλλΏμ
λλ€. λ€μ μνμμ κ΄κ³λ λ€μ μνμ λ³μλ μμλ‘ μ°κ³ νμ¬ μνμ λ³μλ μμ μμ΄ μ°λ 곡μμΌλ‘ μ€λͺ
λ©λλ€. μ ν΄λ¦¬λ μκ³ λ¦¬μ¦μ κ²½μ° λ 곡μμ λΆλ¦¬λ₯Ό λ€λ£° κ²μ
λλ€. x
κ°μ₯ ν° κ°μ΄κ³ λ λ²μ§Έ - y
:
첫 λ²μ§Έ κ²½μ° yμ μ κ°μ μ΄μ y κ°κ³Ό κ°κ³ λ ν° λ³μμμ λ μμ λ³μλ₯Ό λΉΌμ μ x κ°μ μ»μ΅λλ€. λ λ²μ§Έ κ²½μ°μλ κ·Έ λ°λμ λλ€.
μ ν΄λ¦¬λμ μκ³ λ¦¬μ¦μΌλ‘ λμκ° λ΄
μλ€. λ€μ κ°μ ν΄λ³΄μ M = 12
, N = 18
. μ΄κ²μ λ¨μΌ μ΄κΈ° μνλ₯Ό μ μν©λλ€. (x = 12) β§ (y = 18)
. κ·Έλ° λ€μ ν΄λΉ κ°μ μμ 곡μμ μ°κ²°νκ³ λ€μμ μ»μ΅λλ€.
κ°λ₯ν μ μΌν ν΄κ²°μ±
μ λ€μκ³Ό κ°μ΅λλ€. x' = 18 - 12 β§ y' = 12
κ·Έλ¦¬κ³ μ°λ¦¬λ νλμ μ»μ΅λλ€: [x = 12, y = 18]
. λ§μ°¬κ°μ§λ‘ νλμ λͺ¨λ μνλ₯Ό μ€λͺ
ν μ μμ΅λλ€. [x = 12, y = 18] β [x = 12, y = 6] β [x = 6, y = 6]
.
λ§μ§λ§ μνμμ [x = 6, y = 6]
μμ λ λΆλΆμ΄ λͺ¨λ κ±°μ§μ΄λ―λ‘ λ€μ μνκ° μμ΅λλ€. κ·Έλμ μ°λ¦¬λ λ λ²μ§Έ λ¨κ³μ λν μμ ν μ¬μμ κ°μ§κ³ μμ΅λλ€. 보μλ€μνΌ μ΄κ²μ μμ§λμ΄μ κ³Όνμμ κ°μ λ§€μ° μΌλ°μ μΈ μνμ΄λ©° μ»΄ν¨ν° κ³Όνκ³Ό κ°μ΄ μ΄μνμ§ μμ΅λλ€.
μ΄ λ 곡μμ μκ° λ Όλ¦¬μ νλμ 곡μμΌλ‘ κ²°ν©λ μ μμ΅λλ€. κ·Έλ λ μ°μνκ³ μ€λͺ νκΈ° μ½μ§λ§ μ§κΈμ μκ°μ΄ μμ΅λλ€. μ°λ¦¬λ νμ± μμ±μ λν΄μλ§ μμ λ Όλ¦¬κ° νμν μ μμΌλ©° 보μμλ νμνμ§ μμ΅λλ€. λλ κ·Έλ° μκ° λ Όλ¦¬λ₯Ό μ’μνμ§ μμ΅λλ€. κ·Έκ²μ νλ²ν μνμ΄ μλμ§λ§ μλκ°μ κ²½μ°μλ νμμ μ λλ€.
μ ν΄λ¦¬λ μκ³ λ¦¬μ¦μμ κ° κ°μ λν΄ x
ΠΈ y
κ³ μ ν κ°μ κ°λλ€ x'
ΠΈ y'
, λ€μ μνμμ κ΄κ³λ₯Ό μ°ΈμΌλ‘ λ§λλλ€. μ¦, μ ν΄λ¦¬λμ μκ³ λ¦¬μ¦μ κ²°μ λ‘ μ μ
λλ€. λΉκ²°μ λ‘ μ μκ³ λ¦¬μ¦μ λͺ¨λΈλ§νκΈ° μν΄μλ νμ¬ μνκ° μ¬λ¬ κ°μ κ°λ₯ν λ―Έλ μνλ₯Ό κ°μ§ νμκ° μκ³ , κ°κ°μ λΉκ²°μ λ³μ κ°μ λ€μ μνμμ κ΄κ³κ° μ°Έμ΄ λλλ‘ μ¬λ¬ νλΌμ λ³μ κ°μ κ°μ ΈμΌ ν©λλ€. μ΄κ²μ νκΈ° μ½μ§λ§ μ§κΈμ μλ₯Ό μ μνμ§ μκ² μ΅λλ€.
μμ
λꡬλ₯Ό λ§λ€λ €λ©΄ 곡μ μνμ΄ νμν©λλ€. μ¬μμ 곡μννλ λ°©λ²μ 무μμ
λκΉ? μ΄λ₯Ό μν΄μλ 곡μ μΈμ΄κ° νμν©λλ€. μλ₯Ό λ€λ©΄ λ€μκ³Ό κ°μ΅λλ€.
μΌκ°νμ΄ μλ λ±νΈ κΈ°νΈλ κΈ°νΈ μΌμͺ½μ κ°μ΄ κΈ°νΈ μ€λ₯Έμͺ½μ κ°κ³Ό λμΌνκ² μ μλ¨μ μλ―Έν©λλ€. λ³Έμ§μ μΌλ‘ μ¬μμ μ μμ΄λ©° μ°λ¦¬μ κ²½μ° λ κ°μ§ μ μμ λλ€. TLA+μ μ¬μμ μμ μ¬λΌμ΄λμ κ°μ΄ μ μΈκ³Ό μΌλΆ ꡬ문μ μΆκ°ν΄μΌ ν©λλ€. ASCIIμμλ λ€μκ³Ό κ°μ΅λλ€.
보μλ€μνΌ λ³΅μ‘ν κ²μ μμ΅λλ€. TLA+μ λν μ¬μμ ν
μ€νΈν μ μμ΅λλ€. μ¦, μμ λͺ¨λΈμμ κ°λ₯ν λͺ¨λ λμμ μ°νν©λλ€. μ°λ¦¬μ κ²½μ° μ΄ λͺ¨λΈμ νΉμ κ°μ΄ λ κ²μ
λλ€. M
ΠΈ N
. μ΄λ μμ ν μλμΌλ‘ μνλλ λ§€μ° ν¨μ¨μ μ΄κ³ κ°λ¨ν κ²μ¦ λ°©λ²μ
λλ€. 곡μμ μΈ μ§μ€ μ¦λͺ
μ μμ±νκ³ κΈ°κ³μ μΌλ‘ νμΈνλ κ²λ κ°λ₯νμ§λ§ μκ°μ΄ λ§μ΄ 걸리λ―λ‘ κ±°μ μννμ§ μμ΅λλ€.
TLA+μ κ°μ₯ ν° λ¨μ μ κ·Έκ²μ΄ μνμ΄κ³ νλ‘κ·Έλλ¨Έμ μ»΄ν¨ν° κ³Όνμλ€μ΄ μνμ λλ €μνλ€λ κ²μ
λλ€. μΈλ» 보면 λλ΄μ²λΌ λ€λ¦¬μ§λ§ λΆννλ μ§μ¬μΌλ‘ λ§νλ κ²μ
λλ€. λ΄ λλ£λ κ·Έκ° μ¬λ¬ κ°λ°μμκ² TLA+λ₯Ό μ΄λ»κ² μ€λͺ
νλ €κ³ νλμ§ λ§ν΄μ£Όμμ΅λλ€. 곡μμ΄ νλ©΄μ λνλμ κΈμΈ λμμΈμ΄ λΆμ΄μ‘λ€. λ°λΌμ TLA+κ° λλ ΅λ€λ©΄ λ€μμ μ¬μ©ν μ μμ΅λλ€.
μλ§λ λκ΅°κ°λ TLA +μ PlusCalμ΄ μνμ΄κ³ μνμ λ°λͺ λ μμμλ§ μλνλ€κ³ λ°λν κ²μ λλ€. μ€μ λ‘λ μ ν, νλ‘μμ , κ°μ²΄ λ±μ΄ ν¬ν¨λ μ€μ μΈμ΄κ° νμν©λλ€. μ΄κ²μ μλͺ»λ κ²μ λλ€. λ€μμ Amazonμμ 근무ν Chris Newcombμ΄ μμ±ν λ΄μ©μ λλ€. βμ°λ¦¬λ XNUMXκ°μ μ£Όμ νλ‘μ νΈμμ TLA+λ₯Ό μ¬μ©ν΄ μμΌλ©°, μμ°μ λ€μ΄κ°κΈ° μ μ μνν λ²κ·Έλ₯Ό ν¬μ°©ν μ μμκ³ μ°λ¦¬μκ² νλ‘κ·Έλ¨μ μ§μ€μ±μ μν₯μ λ―ΈμΉμ§ μμΌλ©΄μ 곡격μ μΈ μ±λ₯ μ΅μ νλ₯Ό μνν©λλ€.". 곡μμ μΈ λ°©λ²μ μ¬μ©ν λ λΉν¨μ¨μ μΈ μ½λκ° μμ±λλ€λ λ§μ μμ£Ό λ£μ΅λλ€. μ€μ λ‘λ λͺ¨λ κ²μ΄ μ λ°λμ λλ€. λν νλ‘κ·Έλλ¨Έκ° μ μ©μ±μ νμ νλλΌλ κ΄λ¦¬μλ νμμ λ°©λ²μ νμμ±μ νμ ν μ μλ€λ μκ²¬μ΄ μμ΅λλ€. κ·Έλ¦¬κ³ Newcombμ λ€μκ³Ό κ°μ΄ μλλ€. "κ΄λ¦¬μλ€μ μ΄μ TLA+μ λν μ¬μμ μμ±νκ³ νΉν μ΄λ₯Ό μν μκ°μ ν λΉνκΈ° μν΄ μ΄μ¬ν λ Έλ ₯νκ³ μμ΅λλ€.". λ°λΌμ κ΄λ¦¬μλ TLA+κ° μλνλ κ²μ 보면 κΈ°κΊΌμ΄ λ°μλ€μ λλ€. Chris Newcombμ΄ μ΄ κΈμ μ΄ κ²μ μ½ 2014κ°μ μ (14λ 10μ)μ΄μ§λ§ μ§κΈμ λ΄κ° μλ ν TLA+κ° 360κ°κ° μλ 360κ°μ νλ‘μ νΈμμ μ¬μ©λκ³ μμ΅λλ€. λ λ€λ₯Έ μλ XBox XNUMXμ λμμΈκ³Ό κ΄λ ¨μ΄ μμ΅λλ€. λ©λͺ¨λ¦¬ μμ€ν μ λν μ¬μμ μμ±νμ΅λλ€. μ΄ μ¬μ λλΆμ λ€λ₯Έ λ°©λ²μΌλ‘λ λμ λμ§ μκ³ λͺ¨λ XBox XNUMXμ΄ XNUMXμκ° μ¬μ© ν μΆ©λνλ λ²κ·Έκ° λ°κ²¬λμμ΅λλ€. IBM μμ§λμ΄λ ν μ€νΈμμ μ΄ λ²κ·Έλ₯Ό λ°κ²¬νμ§ λͺ»νμμ νμΈνμ΅λλ€.
μΈν°λ·μμ TLA +μ λν μμΈν λ΄μ©μ μ½μ μ μμ§λ§ μ΄μ λΉκ³΅μ μ¬μμ λν΄ μ΄μΌκΈ°νκ² μ΅λλ€. μ°λ¦¬λ μ΅μ 곡μ½μ λ±μ κ³μ°νλ νλ‘κ·Έλ¨μ μμ±ν νμκ° κ±°μ μμ΅λλ€. ν¨μ¬ λ μμ£Ό μ°λ¦¬λ TLA+μ©μΌλ‘ μμ±ν μμ νλ¦°ν° λꡬμ κ°μ νλ‘κ·Έλ¨μ μμ±ν©λλ€. κ°μ₯ κ°λ¨ν μ²λ¦¬ ν TLA + μ½λλ λ€μκ³Ό κ°μ΅λλ€.
κ·Έλ¬λ μμ μμμ μ¬μ©μλ μ μμ¬μ λ±νΈκ° μ λ ¬λκΈ°λ₯Ό μνμ κ°λ₯μ±μ΄ λμ΅λλ€. λ°λΌμ μ¬λ°λ₯Έ νμμ λ€μκ³Ό κ°μ΅λλ€.
λ€λ₯Έ μλ₯Ό μκ°ν΄λ³΄μμμ€.
μ¬κΈ°μ λ°λλ‘ μμ€μ λ±νΈ, λ§μ , κ³±μ κΈ°νΈμ μ λ ¬μ 무μμμ΄λ―λ‘ κ°μ₯ κ°λ¨ν μ²λ¦¬λ§μΌλ‘λ μΆ©λΆν©λλ€. μΌλ°μ μΌλ‘ μ¬λ°λ₯Έ μμμ λν μ νν μνμ μ μλ μμ΅λλ€. μ΄ κ²½μ° "μ¬λ°λ₯Έ"μ "μ¬μ©μκ° μνλ κ²"μ μλ―Ένκ³ μ΄λ μνμ μΌλ‘ κ²°μ ν μ μκΈ° λλ¬Έμ λλ€.
μ§λ¦¬μ λν μ μκ° μλ€λ©΄ λͺ
μΈλ μΈλͺ¨κ° μλ κ² κ°μ΅λλ€. νμ§λ§ κ·Έλ μ§ μμ΅λλ€. νλ‘κ·Έλ¨μ΄ 무μμ ν΄μΌ νλμ§ λͺ¨λ₯Έλ€κ³ ν΄μ νλ‘κ·Έλ¨μ΄ μ΄λ»κ² μλνλμ§ μκ°ν νμκ° μλ κ²μ μλλλ€. μ€νλ € νλ‘κ·Έλ¨μ λ λ§μ λ
Έλ ₯μ κΈ°μΈμ¬μΌ ν©λλ€. μ¬κΈ°μμ μ¬μμ΄ νΉν μ€μν©λλ€. ꡬ쑰νλ μΈμλ₯Ό μν μ΅μ μ νλ‘κ·Έλ¨μ κ²°μ νλ κ²μ λΆκ°λ₯νμ§λ§, κ·Έλ λ€κ³ ν΄μ μμ λ°μλ€μ΄μ§ λ§μμΌ νλ€λ μλ―Έλ μλλ©°, μμμ νλ¦λλ‘ μ½λλ₯Ό μμ±νλ κ²μ μ’μ§ μμ΅λλ€. κ²°κ΅ μ μκ° μλ XNUMXκ°μ§ κ·μΉμ μ¬μμ μμ±νμ΅λλ€. λκΈ νμμΌλ‘ μλ° νμΌμμ. λ€μμ κ·μΉ μ€ νλμ μμ
λλ€. a left-comment token is LeftComment aligned with its covering token
. μ΄ κ·μΉμ μν μμ΄λ‘ μμ±λ©λλ€. LeftComment aligned
, left-comment
ΠΈ covering token
- μ μκ° μλ μ©μ΄. μ΄κ²μ μνμλ€μ΄ μνμ μ€λͺ
νλ λ°©λ²μ
λλ€. κ·Έλ€μ μ©μ΄μ μ μλ₯Ό μμ±νκ³ μ΄λ₯Ό κΈ°λ°μΌλ‘ κ·μΉμ μμ±ν©λλ€. μ΄λ¬ν μ¬μμ μ΄μ μ 850κ°μ κ·μΉμ΄ 850μ€μ μ½λλ³΄λ€ ν¨μ¬ μ΄ν΄νκ³ λλ²κ·ΈνκΈ° μ½λ€λ κ²μ
λλ€. μ΄ κ·μΉμ μμ±νλ κ²μ΄ μ½μ§ μμκ³ λλ²κΉ
νλ λ° κ½€ λ§μ μκ°μ΄ κ±Έλ Έμ΅λλ€. νΉν μ΄λ₯Ό μν΄ μ΄λ€ κ·μΉμ΄ μ¬μ©λμλμ§ λ³΄κ³ νλ μ½λλ₯Ό μμ±νμ΅λλ€. μ¬λ¬ μμ μμ μ΄ XNUMXκ°μ§ κ·μΉμ ν
μ€νΈν λλΆμ XNUMXμ€μ μ½λλ₯Ό λλ²κΉ
ν νμκ° μμκ³ λ²κ·Έλ₯Ό μ°ΎκΈ°κ° λ§€μ° μ¬μ μ΅λλ€. Javaμλ μ΄λ₯Ό μν νλ₯ν λκ΅¬κ° μμ΅λλ€. λ°©κΈ μ½λλ₯Ό μμ±νλ€λ©΄ μκ°μ΄ ν¨μ¬ λ μ€λ κ±Έλ Έμ κ²μ΄κ³ νμνμ νμ§λ μ’μ§ μμμ κ²μ
λλ€.
곡μ μ¬μμ μ¬μ©ν μ μλ μ΄μ λ 무μμ λκΉ? ννΈμΌλ‘ μ¬λ°λ₯Έ μ€νμ μ¬κΈ°μμ κ·Έλ€μ§ μ€μνμ§ μμ΅λλ€. ꡬ쑰μ μΈμλ¬Όμ λꡬλ λ§μ‘±μν€μ§ λͺ»ν μλ°μ μμκΈ° λλ¬Έμ λͺ¨λ μ΄μν μν©μμ μ λλ‘ μλνλλ‘ ν νμκ° μμμ΅λλ€. λ μ€μν κ²μ μ μ ν λκ΅¬κ° μλ€λ μ¬μ€μ λλ€. TLA+ λͺ¨λΈ κ²μ¬κΈ°λ μ¬κΈ°μ μΈλͺ¨κ° μμΌλ―λ‘ μλμΌλ‘ μμ λ₯Ό μμ±ν΄μΌ ν©λλ€.
μμ μ¬μμ λͺ¨λ μ¬μμ 곡ν΅λλ κΈ°λ₯μ΄ μμ΅λλ€. μ½λλ³΄λ€ λμ μμ€μ λλ€. λͺ¨λ μΈμ΄λ‘ ꡬνν μ μμ΅λλ€. μ΄λ€ λꡬλ λ°©λ²λ μΈ μ μμ΅λλ€. μ΄λ€ νλ‘κ·Έλλ° κ³Όμ λ μ΄ μ¬μμ μμ±νλ λ° λμμ΄ λμ§ μμ΅λλ€. λ¬Όλ‘ TLA+μμ ꡬ쑰νλ μΈμ νλ‘κ·Έλ¨μ μμ±νκΈ° μν΄ νΉλ³ν μΈμ΄λ₯Ό μμ±νμ§ μλ ν μ΄ μ¬μμ λΆνμνκ² λ§λ€ μ μλ λꡬλ μμ΅λλ€. λ§μ§λ§μΌλ‘, μ΄ λͺ μΈλ μ°λ¦¬κ° μ½λλ₯Ό μμ±νλ λ°©λ²μ λν΄ μ νν μΈκΈνμ§ μκ³ μ½λκ° μννλ μμ λ§ μ€λͺ ν©λλ€. μ°λ¦¬λ μ½λμ λν΄ μκ°νκΈ° μ μ λ¬Έμ λ₯Ό μΆ©λΆν μκ°νλ λ° λμμ΄ λλλ‘ μ¬μμ μμ±ν©λλ€.
κ·Έλ¬λμ΄ μ¬μμλ λ€λ₯Έ μ¬μκ³Ό ꡬλ³λλ κΈ°λ₯λ μμ΅λλ€. λ€λ₯Έ μ¬μμ 95%λ ν¨μ¬ λ μ§§κ³ κ°λ¨ν©λλ€.
λν μ΄ μ¬μμ μΌλ ¨μ κ·μΉμ λλ€. μΌλ°μ μΌλ‘ μ΄κ²μ μ¬μμ΄ μ’μ§ μλ€λ μ νΈμ λλ€. μΌλ ¨μ κ·μΉμ κ²°κ³Όλ₯Ό μ΄ν΄νλ κ²μ λ§€μ° μ΄λ ΅κΈ° λλ¬Έμ κ·μΉμ λλ²κΉ νλ λ° λ§μ μκ°μ ν μ ν΄μΌ νμ΅λλ€. κ·Έλ¬λ μ΄ κ²½μ° λ λμ λ°©λ²μ μ°Ύμ§ λͺ»νμ΅λλ€.
μ§μμ μΌλ‘ μ€νλλ νλ‘κ·Έλ¨μ λν΄ λͺ λ§λ λ§ν κ°μΉκ° μμ΅λλ€. μΌλ°μ μΌλ‘ μ΄μ 체μ λλ λΆμ° μμ€ν κ³Ό κ°μ΄ λ³λ ¬λ‘ μλν©λλ€. μ μ μ μΌλ‘λ μ’ μ΄λ‘ μ΄ν΄ν μμλ μ¬λμ κ±°μ μμΌλ©° νλλ ν μ μμμ§λ§ λλ κ·Έλ€ μ€ νλκ° μλλλ€. λ°λΌμ TLA + λλ PlusCalκ³Ό κ°μ΄ μμ μ νμΈν λκ΅¬κ° νμν©λλ€.
μ½λκ° μ νν 무μμ ν΄μΌ νλμ§ μ΄λ―Έ μκ³ μλλ° μ¬μμ μμ±ν΄μΌ νλ μ΄μ λ 무μμ λκΉ? μ¬μ€ λλ§ μλ μ€ μμλ€. λν μ¬μμ΄ μμΌλ©΄ μΈλΆμΈμ΄ μμ μ΄ μ νν 무μμ νλμ§ μ΄ν΄νκΈ° μν΄ λ μ΄μ μ½λμ λ€μ΄κ° νμκ° μμ΅λλ€. κ·μΉμ΄ μμ΅λλ€. μΌλ°μ μΈ κ·μΉμ μμ΄μΌ ν©λλ€. λ¬Όλ‘ μ΄ κ·μΉμλ μμΈκ° μμ΅λλ€. μ κ° λ°λ₯΄λ μ μΌν μΌλ°μ μΈ κ·μΉμ λλ€. μ½λκ° μννλ μμ μ λν μ¬μμ μ¬λλ€μ΄ μ½λλ₯Ό μ¬μ©ν λ μμμΌ ν λͺ¨λ κ²μ μλ €μΌ ν©λλ€.
κ·Έλ λ€λ©΄ νλ‘κ·Έλλ¨Έλ μ¬κ³ μ λν΄ μ νν 무μμ μμμΌ ν κΉμ? μ°μ , λ€λ₯Έ λͺ¨λ μ¬λκ³Ό λμΌν©λλ€. κΈμ μ°μ§ μμΌλ©΄ μκ°νκ³ μλ κ² κ°μ΅λλ€. λν μ½λ©νκΈ° μ μ μκ°ν΄μΌ ν©λλ€. μ¦, μ½λ©νκΈ° μ μ μμ±ν΄μΌ ν©λλ€. μ¬μμ μ½λ©μ μμνκΈ° μ μ μμ±νλ κ²μ λλ€. λꡬλ μ¬μ©νκ±°λ μμ ν μ μλ μ½λμλ μ¬μμ΄ νμν©λλ€. κ·Έλ¦¬κ³ μ΄ "λκ΅°κ°"λ μ½λκ° μμ±λ μ§ ν λ¬ νμ μ½λλ₯Ό μμ±ν μ¬λμΌ μ μμ΅λλ€. λν νλ‘κ·Έλ¨ λ° μμ€ν , ν΄λμ€, λ©μλ, λλ‘λ λ¨μΌ λ©μλμ 볡μ‘ν μΉμ μ λν μ¬μμ΄ νμν©λλ€. μ½λμ λν΄ μ νν 무μμ μμ±ν΄μΌ ν©λκΉ? κ·Έκ²μ΄ 무μμ νλμ§, μ¦ μ΄ μ½λλ₯Ό μ¬μ©νλ μ¬λμκ² λ¬΄μμ΄ μ μ©ν μ μλμ§ μ€λͺ ν΄μΌ ν©λλ€. κ²½μ°μ λ°λΌ μ½λκ° λͺ©μ μ λ¬μ±νλ λ°©λ²μ μ§μ ν΄μΌ ν μλ μμ΅λλ€. μκ³ λ¦¬μ¦μ κ³Όμ μμ μ΄ λ°©λ²μ κ±°μ³€λ€λ©΄ μ΄λ₯Ό μκ³ λ¦¬μ¦μ΄λΌκ³ ν©λλ€. μ’ λ νΉλ³νκ³ μλ‘μ΄ κ²μ΄λΌλ©΄ κ³ κΈ λμμΈμ΄λΌκ³ ν©λλ€. μ¬κΈ°μλ 곡μμ μΈ μ°¨μ΄μ μ΄ μμ΅λλ€. λ λ€ νλ‘κ·Έλ¨μ μΆμ λͺ¨λΈμ λλ€.
μ½λ μ¬μμ μ νν μ΄λ»κ² μμ±ν΄μΌ ν©λκΉ? κ°μ₯ μ€μν κ²μ μ½λ μμ²΄λ³΄λ€ ν λ¨κ³ λ λμμΌ νλ€λ κ²μ λλ€. μνμ λμμ μ€λͺ ν΄μΌ ν©λλ€. μμ μ΄ μꡬνλ λ§νΌ μ격ν΄μΌ ν©λλ€. μμ ꡬν λ°©λ²μ λν μ¬μμ μμ±νλ κ²½μ° μ μ¬ μ½λ λλ PlusCalλ‘ μμ±ν μ μμ΅λλ€. μ μ μ¬μμ μ¬μμ μμ±νλ λ°©λ²μ λ°°μμΌ ν©λλ€. μ΄κ²μ λΉκ³΅μμ μΈ κ²μλ λμμ΄ λ νμν κΈ°μ μ μ 곡ν κ²μ λλ€. 곡μ μ¬μμ μμ±νλ λ°©λ²μ μ΄λ»κ² λ°°μ°λμ? νλ‘κ·Έλλ°μ λ°°μ μ λ μ°λ¦¬λ νλ‘κ·Έλ¨μ μμ±ν λ€μ λλ²κΉ νμ΅λλ€. μ¬κΈ°μλ λ§μ°¬κ°μ§μ λλ€. μ¬μμ μμ±νκ³ λͺ¨λΈ κ²μ¬κΈ°λ‘ νμΈνκ³ λ²κ·Έλ₯Ό μμ ν©λλ€. TLA+λ 곡μ μ¬μμ κ°μ₯ μ ν©ν μΈμ΄κ° μλ μ μμΌλ©° νΉμ μꡬ μ¬νμλ λ€λ₯Έ μΈμ΄κ° λ λμ μ μμ΅λλ€. TLA+μ μ₯μ μ μνμ μ¬κ³ λ₯Ό μμ£Ό μ κ°λ₯΄μΉλ€λ κ²μ λλ€.
μ¬μκ³Ό μ½λλ₯Ό μ°κ²°νλ λ°©λ²μ 무μμ λκΉ? μνμ κ°λ κ³Ό ꡬνμ μ°κ²°νλ μ£Όμμ λμμΌλ‘. κ·Έλνλ‘ μμ νλ κ²½μ° νλ‘κ·Έλ¨ μμ€μμ λ Έλ λ°°μ΄κ³Ό λ§ν¬ λ°°μ΄μ κ°κ² λ©λλ€. λ°λΌμ μ΄λ¬ν νλ‘κ·Έλλ° κ΅¬μ‘°μ μν΄ κ·Έλνκ° κ΅¬νλλ λ°©μμ μ ννκ² μμ±ν΄μΌ ν©λλ€.
μμ μ΄λ κ²λ μ€μ μ½λ μμ± νλ‘μΈμ€μλ μ μ©λμ§ μλλ€λ μ μ μ μν΄μΌ ν©λλ€. μ½λλ₯Ό μμ±ν λ, μ¦ μΈ λ²μ§Έ λ¨κ³λ₯Ό μνν λ νλ‘κ·Έλ¨λ μκ°νκ³ μκ°ν΄μΌ ν©λλ€. νμ μμ μ΄ λ³΅μ‘νκ±°λ λͺ ννμ§ μμ κ²μΌλ‘ νλͺ λλ©΄ μ΄μ λν μ¬μμ μμ±ν΄μΌ ν©λλ€. κ·Έλ¬λ μ¬κΈ°μλ μ½λ μ체μ λν΄ λ§νλ κ²μ΄ μλλλ€. λͺ¨λ νλ‘κ·Έλλ° μΈμ΄, λ°©λ²λ‘ μ μ¬μ©ν μ μμ΅λλ€. λν μμ μ΄λ κ²λ μ½λλ₯Ό ν μ€νΈνκ³ λλ²κ·Έν νμκ° μμ΅λλ€. μΆμ λͺ¨λΈμ΄ μ¬λ°λ₯΄κ² μμ±λλλΌλ ꡬνμ λ²κ·Έκ° μμ μ μμ΅λλ€.
μ¬μ μμ±μ μ½λ© νλ‘μΈμ€μ μΆκ° λ¨κ³μ λλ€. λλΆμ μ μ λ Έλ ₯μΌλ‘ λ§μ μ€λ₯λ₯Ό μ‘μ μ μμ΅λλ€. Amazon νλ‘κ·Έλλ¨Έμ κ²½νμ ν΅ν΄ μ΄λ₯Ό μκ³ μμ΅λλ€. μ¬μμ΄ μμΌλ©΄ νλ‘κ·Έλ¨μ νμ§μ΄ λμμ§λλ€. κ·Έλ λ€λ©΄ μ μ°λ¦¬λ μ’ μ’ κ·Έκ²λ€ μμ΄ μ§λ΄λ κ²μΌκΉμ? κΈμ°κΈ°κ° μ΄λ ΅κΈ° λλ¬Έμ΄λ€. κ·Έλ¦¬κ³ κΈμ°κΈ°λ μ΄λ ΅μ΅λλ€. μ΄λ₯Ό μν΄μλ μκ°μ΄ νμνκ³ μκ°λ μ΄λ ΅ κΈ° λλ¬Έμ λλ€. λΉμ μ΄ μκ°νλ μ²νλ κ²μ΄ νμ λ μ½μ΅λλ€. μ¬κΈ°μμ λ¬λ¦¬κΈ°μ λΉμ ν μ μμ΅λλ€. λ λ¬λ¦¬λ©΄ λ λ¬λ¦¬κ² λ©λλ€. κ·Όμ‘μ λ¨λ ¨νκ³ κΈμ°κΈ° μ°μ΅μ ν΄μΌ ν©λλ€. μ°μ΅μ΄ νμν©λλ€.
μ¬μμ΄ μ¬λ°λ₯΄μ§ μμ μ μμ΅λλ€. μ΄λμ κ° μ€μλ₯Ό νκ±°λ μꡬ μ¬νμ΄ λ³κ²½λμκ±°λ κ°μ μ΄ νμν μ μμ΅λλ€. λꡬλ μ¬μ©νλ λͺ¨λ μ½λλ λ³κ²½λμ΄μΌ νλ―λ‘ μ‘°λ§κ° μ¬μμ΄ λ μ΄μ νλ‘κ·Έλ¨κ³Ό μΌμΉνμ§ μκ² λ κ²μ λλ€. μ΄μμ μΌλ‘λ μ΄ κ²½μ° μ μ¬μμ μμ±νκ³ μ½λλ₯Ό μμ ν λ€μ μμ±ν΄μΌ ν©λλ€. μ°λ¦¬λ μ무λ κ·Έλ κ² νμ§ μλλ€λ κ²μ μ μκ³ μμ΅λλ€. μ€μ λ‘λ μ½λλ₯Ό ν¨μΉνκ³ κ°λ₯νλ©΄ μ¬μμ μ λ°μ΄νΈν©λλ€. μ΄κ²μ΄ μ‘°λ§κ° μΌμ΄λ μλ°μ μλ€λ©΄, μ μ€νμ μμ±ν΄μΌ ν κΉμ? 첫째, λΉμ μ μ½λλ₯Ό νΈμ§ν μ¬λμκ²λ μ¬μμ λͺ¨λ μΆκ° λ¨μ΄κ° κΈκ³Ό κ°μ κ°μΉκ° μμ κ²μ΄λ©° μ΄ μ¬λμ λΉμ μμ μΌ μλ μμ΅λλ€. λλ μ’ μ’ μ½λλ₯Ό νΈμ§ν λ μΆ©λΆν μ¬μμ μ»μ§ λͺ»ν κ²μ λν΄ μ€μ€λ‘λ₯Ό κΎΈμ§μ΅λλ€. κ·Έλ¦¬κ³ μ½λλ³΄λ€ μ¬μμ λ λ§μ΄ μλλ€. λ°λΌμ μ½λλ₯Ό νΈμ§ν λ μ¬μμ νμ μ λ°μ΄νΈν΄μΌ ν©λλ€. λμ§Έ, κ°μ νμ΄ μμ λλ§λ€ μ½λκ° λ λλΉ μ§κ³ μ½κ³ μ μ§νκΈ°κ° μ μ λ μ΄λ €μμ§λλ€. μ΄κ²μ μνΈλ‘νΌμ μ¦κ°μ λλ€. κ·Έλ¬λ μ¬μμΌλ‘ μμνμ§ μμΌλ©΄ μμ±νλ λͺ¨λ μ€μ΄ νΈμ§λκ³ μ½λκ° μ²μλΆν° λ€λ£¨κΈ° νλ€κ³ μ½κΈ° μ΄λ ΅μ΅λλ€.
λ§νλλ‘
νΉλ³ μΉμ¬μ΄νΈμμ TLA + λ° PlusCalμ λν μμΈν λ΄μ©μ μ½μ μ μμ΅λλ€. μ ννμ΄μ§μμ ν΄λΉ μΉμ¬μ΄νΈλ‘ μ΄λν μ μμ΅λλ€.
λ²μλ³Έμ΄λ μ°Έκ³ νμΈμ. λκΈμ μμ±ν λ μμ±μκ° λκΈμ μ½μ§ μλλ€λ μ μ κΈ°μ΅νμΈμ. μ μμ μ λ§λ‘ λννκ³ μΆλ€λ©΄ 2019λ 11μ 12μΌλΆν° 2019μΌκΉμ§ μνΈνν λ₯΄λΆλ₯΄ν¬μμ μ΄λ¦¬λ Hydra XNUMX 컨νΌλ°μ€μ μ°Έμν κ²μ λλ€. ν°μΌ ꡬ맀 κ°λ₯
곡μ μΉ μ¬μ΄νΈ .
μΆμ² : habr.com