λ μ΄μμμ ꡬμ±νλ μΌμ μΉ κ°λ°μμ λΉΌλμ μ μλ μμ μ€ νλμ λλ€. UIμλ μ¬μ©μκ° μνλ μ 보λ€μ΄ μ μ¬μ μμ μ λ°°μΉλμ΄μΌ νλλ°, μ΄ λ°°μΉ κ³΅κ°μ ꡬμ±νλ κΈ°λ³Έ λ°λ°νμ΄ λ°λ‘ λ μ΄μμμ΄κΈ° λλ¬Έμ΄μ£ .
νμ§λ§ λ§μ λ μ΄μμ μμ μ ν΄λ³΄λ©΄ μκ·Όν μλ λ§μ΄ κ°κ³ μ΄λ ΅μ΅λλ€. λλ‘ μ΄λ ν ννκ° μ’μμ§ κ°μ΄ μ‘νμ§ μμ, λͺ©μ μ μ°Ύμλ€λλλΌ λμ± λ§μ μκ°μ ν μ νκ² λ©λλ€. κ²λ€κ° λΉ‘λΉ‘ν μΌμ μμ ꡬνν΄μΌ ν λ€λ₯Έ μλ§μ κΈ°λ₯λ€κΉμ§... μ°¨λΌλ¦¬ κ·Έλ₯ μμ μ΄λ―Έμ§λ₯Ό μ€ν λ λκ΅°κ°κ° λΉ λ₯΄κ² λ§λ€μ΄μ£Όλ©΄ μ’κ² λ€λ μκ°μ΄ λ€κ³€ ν©λλ€.
λ°λ‘ μ΄λ¬ν μκ°μμ, λ³Έ νλ‘μ νΈλ μΆλ°νκ² λμμ΅λλ€. Layout Generatorλ λͺ©μ μ΄λ―Έμ§λ‘λΆν° λ μ΄μμ ꡬ쑰λ₯Ό μΈμνμ¬ HTMLκ³Ό CSS μ½λλ₯Ό μμ±ν΄μ£Όλ μΉμλΉμ€μ λλ€.
κ·Έμ λ μ΄μμμ μΆμΆνκ³ μΆμ μ΄λ―Έμ§λ₯Ό μ λ‘λ νκ³ , λ―Έλ¦¬λ³΄κΈ°λ‘ νμΈν λ€, μμ±λ μ½λλ₯Ό 볡μ¬νλ©΄ λμ λλ€!
Deploy: Layout generator
- π§ How it works
- π§πΌββοΈ What I challenge about
- π Dev Log
- π» More Description
1. μλ³Έ μ΄λ―Έμ§λ₯Ό 'νλ ¬(matrix)'μ ννλ‘ λ³ν (Image -> Canvas API -> OpenCv Mat class). | 2. Grayscale λ³ν λ° κ°μ₯μ리 κ²μΆ (Canny Edge Detection). |
![]() |
![]() |
νλ‘μ νΈ κΈ°ν μ΄λ°μλ ν μνλ‘μ°μ object detection κΈ°λ₯μ ν΅ν΄ λ μ΄μμ ꡬνμ κ²μΆν λ€ ν΄λΉ λ°μ΄ν°λ₯Ό μ½λν νλ©΄ λκ² λ€κ³ ꡬμνμμ§λ§, μ΄λ μμμ λΆν° μλͺ»λ κ³νμ΄μλ€λ κ²μ λ¨Έμ§μμ κΉ¨λ¬μμ΅λλ€. λ¨Έμ λ¬λμ κΈ°μ μ μΈ λ¬Έμ λ₯Ό μ½κ² ν΄κ²°ν΄μ£Όλ λ§λ²μ΄ μλλΌ, λ°©λν λ°μ΄ν°λ₯Ό νμ΅ν λ€ μ΄λ₯Ό κΈ°λ°μΌλ‘ μΌλ°νλ κ²°κ³Όλ₯Ό μΆλ‘ ν΄ λ΄λ μΌμ’ μ μκ³ λ¦¬μ¦κ³Ό κ°μ κ²μ΄μμ΅λλ€.
λ¨Έμ λ¬λμ μ μ©νλ €λ©΄ μ°μ λ³Έ νλ‘μ νΈμμ μꡬλλ κΈ°μ μ λ¬Έμ λ₯Ό ν΄κ²°νλλ‘ μ¬μ μ 미리 νμ΅λ λ¨Έμ λ¬λ λͺ¨λΈμ΄ νμνμ΅λλ€. μ§μ νμ΅μν€λ λ°©μλ μμμΌλ, 3μ£ΌλΌλ κΈ°κ° λ΄μ μλ―Έμλ κ²°κ³Όλ₯Ό λΌλ§ν μμ λ°μ΄ν°λ₯Ό κ΅¬μΆ λ° λΌλ²¨λ§νμ¬ νμ΅μν€λ κ²μ μκ°μ , μμμ μΌλ‘ 무리λΌκ³ νλ¨νμ¬ κ³ λ €νμ§ μμμ΅λλ€. λ¬Έμ λ "λ μ΄μμ μΈμ"κ³Ό κ΄λ ¨νμ¬ μ¬μ νλ ¨λ λͺ¨λΈμ μ°Ύμ μ μμλ μ μ λλ€. μΌλΆ μ μ¬ν μμ μ νλ νμ΄μ¬ λͺ¨λΈμ μμμΌλ(μλ©΄ λ¬Έμμμ μ λͺ©μ΄λ λ¨λ½ κ²μΆ, λͺ©μ μ΄λ―Έμ§μμ λ²νΌ, μΈνκ³Ό κ°μ UI μμ κ²μΆ) λ μ΄μμμ μΈμνλ€λ건 μ‘°κΈ λ€λ₯Έ λ¬Έμ μμ΅λλ€.
μ¬μ€ μ΄ μμ μμ νλ‘μ νΈ μ£Όμ λ₯Ό λ€μ μκ°ν΄μΌλ κΉλΌλ κ³ λ―Όλ μ μ λ€μμ§λ§, "λ°©λ²μ νλκ° μλλ€" λΌλ λΆνΈμΊ νμμμ κ°λ₯΄μΉ¨μ λμκΈ°λ©° λ€μ μ²μλΆν° μ‘°μ¬λ₯Ό μ΄μ΄λκ°μ΅λλ€. κ·Έλ¬λ μ€ "μ»΄ν¨ν° λΉμ " λΆμΌμ λν κΈμ μ νκ³ , νν μ¬μ©νλ μΉ΄λ©λΌ νν°λ§ μ΄νκ³Ό κ°μ΄ μ¬μ§, μμμ μ μ΄νλ κΈ°μ λ€μ λ§μ λΆλΆμ΄ λΉμ κΈ°μ μ λ°νμΌλ‘ ꡬνλμλ€λ κ²μ μκ² λμμ΅λλ€. λν μλ°μ€ν¬λ¦½νΈμμλ Canvas APIλ₯Ό ν΅ν΄ μ΄λ―Έμ§ νμΌμ ν½μ λ°μ΄ν°λ₯Ό μ‘°μν μ μμκΈ° λλ¬Έμ, μ΄ λ°©μλ€μ μ μμ©νλ©΄ λ³Έ νλ‘μ νΈμ μꡬ μ¬νλ€μ μνν΄ λΌ μ μκ² λ€λ μκ°μ΄ λ€μμ΅λλ€. μ΄ν μμ κ³Ό μ‘°μ¬λ₯Ό λ³ννλ©° λ Έλ ₯ν λμ, μμ How it worksμμ μκ°ν λ°©μμΌλ‘ νλ‘μ νΈλ₯Ό ꡬνν μ μμμ΅λλ€.
κΈ°λ³Έμ μΈ μ§μ μΈμμλ μ±κ³΅νμ§λ§, μ΄λ―Έμ§μ ν¬κΈ°λ ν΄μλ, μ λͺ λ λ±μ μ‘°κ±΄μ΄ λ무λλ λ€μνκΈ°μ μνλ μ λΆλ€λ§ μ½ μ§μ΄μ μΆμΆν΄λ΄κΈ°μλ μ΄λ €μμ΄ μμμ΅λλ€. μ΄λ―Έμ§μμμλ ν μ€λ‘ 보μ΄μ§λ§ κ²½μ°μ λ°λΌ 2, 3κ°μ μΈμ ν μ μΌλ‘ μΈμλκΈ°λ νκ³ , λ μ΄μμ λ΄λΆμ μ€ν¬λ‘€λ°κ° μμ κ²½μ° λΉμ°νκ²λ λ κ°μ μ λΆμΌλ‘ κ²μΆλμ΄ λ³λμ λ μ΄μμ μμμΌλ‘ μΈμλκΈ°λ νμμ΅λλ€. μ΄μ μΈμ ν μ λΆλ€μ νλλ₯Ό μ μΈνκ³ λ λͺ¨λ μ κ±°νλ κ³Όμ μ΄ μμ΄μΌ μ΄νμ μμ μ΄ μμν κ²μΌλ‘ νλ¨νκ³ , μ λΆμ νν°λ§ν κΈ°μ€κ³Ό λ°©λ²μ λν κ³ λ―Ό λμ μλμ κ°μ μκ³ λ¦¬μ¦μ μμ±νμ¬ μ μ©νμμ΅λλ€.
λ¨Όμ μΈμλ μ λΆλ€μ κ°κ° νκ³Ό μ΄λ‘ λλ λ€, μ’νκ°μ λ°λΌ μνμ μ μ -> ν μμΌλ‘, μμ§ μ μ μ’ -> μ° μμΌλ‘ μ λ ¬ νμμ΅λλ€. μ΄ν κ° νκ³Ό μ΄μ λ³λλ‘ μννλ©° νμ¬ μ λΆκ³Ό μ΄μ μ λΆμ μ’νκ° μ°¨μ΄κ° μΌμ λ²μ λ΄μ μλ κ²½μ°, ν΄λΉ μ λΆμ μ΄μ μ μ΄λ―Έ μΈμλ μ λΆκ³Ό μΈμ ν΄μλ κ²μΌλ‘ νλ¨νκ³ λ²λ¦¬λλ‘ νμμ΅λλ€. λν μΆκ°μ μΌλ‘ μ΄λ―Έμ§μ κ°μ₯ λ°κΉ₯ ν λλ¦¬κ° μ μΌλ‘ μΈμλλ κ²½μ°λ λ°κ²¬λμ΄, ν λ리λ‘λΆν° μΌμ marginκ° μ΄λ΄μ μμΉμμ μΈμλ μ λΆλ λ§μ°¬κ°μ§λ‘ λ²λ¦¬λλ‘ νμμ΅λλ€. μ΄ μμ μ ν΅ν΄ κ²°κ³Όμ μΌλ‘ λ μ΄μμ μΆμΆμ νμν μ λΆ λ°μ΄ν°λ€λ§ μ λ³ν΄λΌ μ μμμ΅λλ€.
μ΄λ² νλ‘μ νΈμμ κ°μ₯ μ€λ μκ°μ λ€μ¬μΌ νλ λΆλΆμ
λλ€. κΈ°ν λΉμμλ "ν½μ
λ°μ΄ν°λ‘ λ μ΄μμ ꡬνμ λλΉ, λμ΄λ₯Ό μ μ μμΌλ μ΄λ₯Ό μ μ©ν <div>
νκ·Έλ₯Ό μμ±νλ©΄ λκ² λ€" λΌκ³ μκ°νμμ΅λλ€. νμ§λ§ λ§μ μμ
μ μμν΄λ³΄λ μ΄ λ°©λ²μ ν΅ν΄ μ»΄ν¬λνΈμ κ°μ κ°λ³μ μΈ μμλ₯Ό λ§λ€ μλ μμμ§λ§, νλ©΄ μ 체μ ꡬνμ λλλ κ²μ μμκ³Όλ μ ν λ€λ₯Έ λ¬Έμ μμ΅λλ€. 무μ보λ€λ λλΉ, λμ΄ λ±μ ννμ λν μμΉκ° μλ display
μμ±μ΄ μΆκ°λμ΄μΌ λΉλ‘μ νλ©΄ μ 체μ λ μ΄μμμ μ‘μ μ μκ² λ€λ μ¬μ€μ κΉ¨λ¬μ λ€μλ, μ΄λ¬λ€ νλ‘μ νΈλ₯Ό λλ΄μ§ λͺ»ν μλ μλ€λ κ±±μ κΉμ§ μμ°μ΅λλ€. κΈν λ§μμ λ¨Έμ λ¬λμμ ννΈλ₯Ό μ»μ μ μμ§ μμκΉ λ€μ μ΄ν΄λ³΄μμ§λ§, μ΄ μμ "UI μμμ HTML μ½λλ₯Ό 1:1λ‘ λ§€μΉ"νμ¬ λ°μ΄ν°μ
μ ꡬμΆν λ€ μ΄λ₯Ό νμ΅μμΌ μ΄λ―Έμ§μμ μ½λλ₯Ό μΆμΆν΄λ΄λ κ²μ΄μκΈ°μ λμ λ λ§ν λ¨μλ₯Ό μ»μ§λ λͺ»νμ΅λλ€.
μ΄ν λ©°μΉ κ° λ€μν μνμ°©μ€λ₯Ό κ±°μ³€κ³ , κ²°κ΅μλ CSS grid
μμ±μ νμ©νμ¬, κ²μΆλ λ μ΄μμκ³Ό μΌμΉνλλ‘ νκ·Έλ₯Ό λμ μΌλ‘ μμ±νλ λ°©λ²μ μκ°ν΄λΌ μ μμμ΅λλ€. λ¨Όμ μ΄λ―Έμ§μ λλΉ, λμ΄μ μ λΆ λ°μ΄ν°μ μ’νλ₯Ό λμ
νμ¬ λλ μ§ κ° κ΅¬νλ€μ΄ μ 체 λλΉ, λμ΄μμ μ°¨μ§νλ λΉμ¨μ ꡬνκ³ , μ΄λ₯Ό grid
λ μ΄μμμμ νΈλ μ¬μ΄μ¦λ₯Ό μ νλλ° μ¬μ©νλ fr
λ¨μλ₯Ό κ°μ§ λ¬Έμμ΄λ‘ λ³ννμμ΅λλ€. μ΄ν κ° λ μ΄μμ ꡬνμ λν <div>
νκ·Έλ€ μ 체λ₯Ό κ°μΈλ λΆλͺ¨ νκ·Έλ₯Ό μΆκ°ν λ€ μμμ μμ±ν λ¬Έμμ΄μ κ° grid-template-rows
, grid-template-columns
μμ±μ κ°μΌλ‘ λΆμ¬νμ¬ κΈ°λ³Έμ μΈ λ μ΄μμ ννλ₯Ό μ‘μ μ μμμ΅λλ€.
νμ§λ§ μ΄ λ°©λ²μ λ μ΄μμμ΄ κ°λ‘, λλ μΈλ‘ μ€ ν μ’ λ₯μ μ λΆλ§ μμ λ μ μ© κ°λ₯νκ³ , 볡ν©μ μΈ λ μ΄μμμ κ²½μ°μ μΆκ°μ μΌλ‘ μμνκ·Έλ€μκ²λ λμ μΌλ‘ κ΄λ ¨ μμ±μ΄ λΆμ¬λμ΄μΌ νμ΅λλ€. λͺ μ°¨λ‘ μμ± λΆμ¬ λ‘μ§μ μμ±ν΄λ³Έ κ²°κ³Ό λ¨μΌ λ‘μ§μμ λͺ¨λ κ²½μ°μ μμ λμνλ©° μμ±μ λμ μΌλ‘ λΆμ¬νλ κ²μ κ·Έλκ·Έλ νμν μ’νκ°μ μ’ λ₯κ° λ€λ₯΄κΈ°μ μ΄λ ΅λ€κ³ νλ¨μ΄ λμκ³ , λμμΌλ‘ μ¬μ μ λ μ΄μμ νμ μ μ§μ ν λ€ κ° νμ μ ν΄λΉνλ λ μ΄μμμ΄ μΈμλμμ κ²½μ° μ΄μ λ§λ λ‘μ§μ΄ μ€νλλλ‘ λ³κ²½νμμ΅λλ€. λ μ΄μμ νμ μ μΌλ°μ μΌλ‘ λ§μ΄ μ¬μ©λλ κ²½μ°λ₯Ό κ³ λ €ν΄ λ€μκ³Ό κ°μ΄ λΆλ₯νμμ΅λλ€.
- κ°λ‘ μ λΆλ§ μλ κ²½μ°(ex:
header, main, footer
) - μΈλ‘ μ λΆλ§ μλ κ²½μ°(ex:
side, main
) - κ°λ‘ μΈλ‘κ° μμ¬μμΌλ, νλ©΄μ κ°λ‘μ§λ₯΄λ μ λΆμ΄ κ°λ‘ μ λΆμΈ κ²½μ°(μ£Όλ‘ holy grail λ μ΄μμκ³Ό κ°μ νν)
λΉλ‘ μ νμ μ΄κΈ΄ νλ, μ΄ κ³Όμ μ ν΅ν΄μ κΈ°μ΄μ μΈ μμ€μ λ μ΄μμ ννμ λν΄μλ λμ μΌλ‘ μ½λλ₯Ό μμ±ν΄λΌ μ μκ² λμμ΅λλ€. μ΄νμλ λ―Έλ¦¬λ³΄κΈ°λ‘ λ λλ§λ μ½λμ λΆλͺ¨ μ리먼νΈλ₯Ό useRef
λ‘ λΆλ¬μ¨ λ€, ν΄λΉ μ리먼νΈμ μμ νκ·Έλ€μ λ¬Έμμ΄λ‘ λ³ννμ¬ μ΅μ’
μ μΌλ‘ μ¬μ©μμκ² νμν΄ μ€ μ μμμ΅λλ€.
κ·Όλ³Έμ μΌλ‘ λ³Έ νλ‘μ νΈλ "κ° λ μ΄μμ μμμ΄ μ μ΄λ μμμΌλ‘ λͺ νν ꡬλΆλλ" μ΄λ―Έμ§μ νν΄μ λ μ΄μμ κ²μΆμ΄ κ°λ₯νλ€λ νκ³λ₯Ό μ§λκ³ μμ΅λλ€. μ΄λ edge detection κ³Όμ μμ μ£Όλ³κ³Ό μμ΄ λ€λ₯Έ ν½μ λ€μ μ λ³νμ¬ ν λλ¦¬λ‘ κ²μΆν ν보ꡰμ κ³μ°νκΈ° λλ¬Έμ λλ€. ν λ리 μμ΄ μ½ν μΈ κ° λ°°μΉλ μμλ§μ κΈ°μ€μΌλ‘ λ μ΄μμμ κ²μΆν΄λ΄λ €λ©΄ object detection λλ symantic segmentation λ±μ λ¨Έμ λ¬λμ΄ μ μ©λ κΈ°μ μ μ¬μ©νμ¬ μ΄λ―Έμ§μ μ‘΄μ¬νλ κ° μμλ€μ ꡬλΆν μ μμ΄μΌ ν κ²μΌλ‘ νλ¨μ΄ λ©λλ€. μ¬μ€ μ΄λ²μλ μ¬κ±΄μ μ μ©νμ§λ λͺ»νμΌλ, νλ‘μ νΈ κΈ°ν κ³Όμ μμ λ¨Έμ λ¬λ λΆμΌμ λνμ¬ λ§μ ν₯λ―Έλ‘μμ λκΌκ³ , μΆν κ°λ₯νλ€λ©΄ λ κΉκ² 곡λΆν λ€ λ³Έ νλ‘μ νΈμλ ν΄λΉ κΈ°μ μ μΆκ°λ‘ μ μ©ν΄λ³΄κ³ μΆμ λ§μμ΄ ν½λλ€.
μμ λλΆμ΄, νμ¬μ λ‘μ§μ κΈ°μ€μΌλ‘ μ½λλ₯Ό μΆμΆν΄λΌ μ μλ λ μ΄μμμ ννκ° νμ μ μ΄λΌλ μ λ μμ¬μμΌλ‘ λ¨μ΅λλ€. λ¨νΈμ μΌλ‘λ λ μ΄μμ νμ μ κ²½μ°μ μλ₯Ό λλ¦¬κ³ μ΄μ ν΄λΉνλ λ‘μ§μ μΆκ°ν¨μΌλ‘μ¨ λ³΄μν μ μμΌλ, νμ λ νλ‘μ νΈ κΈ°ν λ΄μμ λ μ΄μ 보μμμ μ μκ°μ λΆλ°°ν μ μμκΈ°μ λμ± μμ¬μμ΄ ν½λλ€. νλ μ΄λ¬ν λ°©μμ λ€μν λ μ΄μμμ μΆμΆνλ €ν¨μ λΉλ‘νμ¬ λ‘μ§μ΄ κ³μν΄μ λΉλν΄μ§ κ²μ΄κΈ° λλ¬Έμ, κ·Όλ³Έμ μΈ ν΄κ²°μ± μ μλκΈ°λ ν©λλ€. μ΄μ μΆμΆ κ³Όμ μ μΌκ΄λ νλμ ν¨μλ‘ ν΄κ²°ν μ μλλ‘ λ κ³ λ―Όνκ³ λ³΄μμ μλν΄λ³Ό μμ μ λλ€.
Weekly work (22/11/07 ~ 22/11/27)
Week 01 - κΈ°ν λ° κΈ°μ κ²μ¦
- μμ΄λμ΄ μ‘°μ¬
- κΈ°μ κ²μ¦ λ° κ΅¬ν λ°©ν₯ κ³ λ―Ό
- λͺ©μ (figma) λ° κ΅¬μ²΄μ μΈ κ³ν μ립(canvan μμ±)
Week 02 - κΈ°λ₯ κ°λ°
- νλ‘μ νΈ μ΄κΈ° μΈν (Git repo, lint μ€μ λ±)
- μ μ νμ΄μ§ ꡬν
- μ΄λ―Έμ§ μ¬μ μ²λ¦¬ λ‘μ§ κ΅¬ν
- μ΄λ―Έμ§λ‘λΆν° μ§μ μ λΆμ κ²μΆνλ λ‘μ§ κ΅¬ν
Week 03 - κΈ°λ₯ κ°λ° λ° λ§λ¬΄λ¦¬ μμ
- κ²μΆλ μ λΆμΌλ‘ λ μ΄μμμ ꡬννλ λ‘μ§ μμ±
- μ£μ§ μΌμ΄μ€ νμΈμ λ°λ₯Έ μ§μμ μΈ λ‘μ§ λ³΄μ μμ
- μ λ°μ μΈ λ¦¬ν©ν λ§, μ½λ μ€νμΌ μ κ²
- λ°°ν¬ μ΄μ ν΄κ²°(webpack config override)
- 리λλ―Έ μμ±
μ΄λ² νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μ λ§ λ§μ κ²λ€μ λλΌκ³ λ°°μ μ§λ§, κ·Έ μ€μμλ κ°μ₯ λΌμ λ¦¬κ² λλμ μ βλ΄κ° κ·Έλμ μΌλ§λ λ€λ₯Έ μ¬λλ€μ μμ λ¬Όμ μμ‘΄ν΄μλβλΌλ λΆλΆμ΄μμ΅λλ€.
λμ΄μΌ μκ°ν΄λ³΄λ μ€μ λ‘ μ½λλ₯Ό μμ±νλ©° ꡬνν΄λκ°λ μκ°λ€ 보λ€, μ΄κΈ° κΈ°νκ³Ό κΈ°μ κ²μ¦ μμ μ μ§νν 첫 λ²μ§Έ μ£Όκ° μ μκ²λ κ°μ₯ νλ€κ³ κ³ ν΅μ€λ¬μ΄ μκ°μ΄μμ΅λλ€. λ΄κ° κ³ννκ³ κ³ λ―Όνκ³ μλ λ°©ν₯μ΄ λ§λμ§, μ€μ λ‘ μ λ§ κ΅¬νμ΄ κ°λ₯ν μ§ νμ νκΈ° μ΄λ €μ μ λΏλλ¬, "λͺ¨λ¬ λ§λλ λ°©λ²"μ΄λ "μ’μ λλ ν 리 ꡬ쑰 μ§λ λ°©λ²"κ³Όλ λ¬λ¦¬ "μ΄λ―Έμ§μμ λ μ΄μμμ κ²μΆν΄ μ½λν νλ λ°©λ²"μ λν΄μλ μμμν κ΄λ ¨μλ£λ μμ, λ νΌλ°μ€λ‘ μΌμ μμ λ¬Όμ λν΅ λ°κ²¬ν μκ° μμκ³ , κ·ΈμΌλ§λ‘ λ§λ§λν΄μ νλ‘ λ¨κ²¨μ§ κΈ°λΆμ λλ λΏμ΄μμ΅λλ€. λμμ, μ무리 κ³΅λΆ μ€μΈ μ μ₯μ΄λΌμ§λ§ μ΄λ κ²κΉμ§ λ€λ₯Έ μ¬λλ€μ μμ λ¬Όμ μμ‘΄μ μ΄λΌλ©΄ "λ΄κ° κ°λ°μλ‘μ¨ νΌμ ν μ μλ μΌμ΄ μκΈ΄ μμκΉ?" λΌλ λμ μλλ κ±±μ κ³Ό μ¬λ¬ κ³ λ―Όλ€λ‘ λ°€μ μ§μμ°κΈ°λ νμμ΅λλ€.
μ΄λ¬ν μν© μμμ ν κ°μ§ λ²λ© λ μ€λ₯Έ μ‘°μΈμ΄ μμμ΅λλ€. λ°λ‘ "λ§μ°νκ³ κ°μ΄ μ‘νμ§ μμλλ μ°μ μꡬλλ μ¬νμ μκ² λλκ³ , κ°μ₯ μμ λΆλΆλΆν° μ°¨κ·Όμ°¨κ·Ό ꡬνν΄λκ°λΌ"λ μΌλμ μ‘°μΈμ΄μμ΅λλ€. μλ£ μ‘°μ¬μ κΈ°μ κ²μ¦μ κ·Έλ κ² λͺ°λνμΌλ©΄μλ 첫 μ£Όκ° λ€ μ§λκ° λ¬΄λ ΅κΉμ§ λͺ νν κ³νμ μ립νμ§ λͺ»νμλλ°, μ΄λ λ§μ°ν λλ €μμ λ₯μΉλλλ‘ κ΄λ ¨μλ£λ λ νΌλ°μ€ μμ λ¬Όμ μ°Ύμ ν€λ© κ²μ΄μμ λΏ μ§κΈ λμμ μλ λ¬Έμ ν΄κ²°μ μν΄ "μ λ§, μ λλ‘ λ" λ Έλ ₯μ ν κ²μ μλμꡬλλΌλ κ²μ κ·ΈλμμΌ κΉ¨λ«κ² λμμ΅λλ€.
μ΄ν μ λ μν©μ μ‘°κΈ λ μ°¨λΆνκ² λ°λΌλ³Ό μ μμκ³ , μ΄ νλ‘μ νΈλ₯Ό ꡬννλλ° νμν κΈ°μ μ΄ λ¬΄μμΈμ§ μμ λ¨μλΆν° λ€μ κ³ λ―ΌνκΈ° μμνμ΅λλ€. "κ·Όλ³Έμ μΌλ‘ μ΄λ―Έμ§μμ 무μΈκ° κ²μΆνλ €λ©΄ μΌλ¨ ν½μ λ°μ΄ν°λ₯Ό λ€λ£° μ μμ΄μΌκ² λ€.", "ν½μ μ μ‘°μν μ μλ€λ©΄ μ΄λ―Έμ§λ₯Ό κ°λ‘μ§λ₯΄λ μ§μ λ€λ§ λ‘μ§μΌλ‘ 골λΌμ μΆμΆν μ μμ§ μμκΉ?", "λ€λ₯Έ λΆλΆλ€μ μ μΈνκ³ μ λΆλ§ μΈμνλ €λ©΄ μ΄λ―Έμ§μμ ν λλ¦¬λ§ λΆκ°μν€λ μ μ²λ¦¬κ° νμνκ² λ€!" ... .
μ΄λ¬ν κ³Όμ λ€μ κ±°μ³μ λ€μκΈ κ΅¬μ²΄μ μΈ κ³νμ μΈμ κ³ , μμ μ΄ μμλ μ΄νλ‘λ κ³νμ λ§μΆμ΄ ν루ν루 κ·Έμ μΆ©μ€ν ꡬνμμΌ λκ°μ΅λλ€. μμ μ μ§νν μλ‘ μ²μμλ μμνμ§ λͺ»νλ λ€μν μ΄μλ€μ΄ λΉλ°μ³ λμ€λ©° λ§μμ κΊΎμΌλ € λ€μμ§λ§, κΈ°ν λ¨κ³μμμ κ³ λ―Όλ€μ λ μ¬λ¦¬λ©° λ¬Έμ μ μμ§λ₯Ό νμ νκ³ ν΄κ²°ν κ·Όκ±°λ₯Ό λ§λ ¨νλλ° μ§μ€νκ³ μ λ Έλ ₯νμ΅λλ€. κ·Έ κ²°κ³Ό, λΉλ‘ λ§μ΄ λΆμ‘±νμ§λ§ κ·Έλλ κ³ννλ λμμ μ΄λμ λ μννλ κ²°κ³Όλ¬Όμ λ§λ€μ΄ λΌ μ μμμ΅λλ€.
νλ‘μ νΈλ₯Ό λ§λ¬΄λ¦¬νλ μμ μμ, λΆνλ― μ΄ μκ°μ΄ λ리μ λ°νμ΅λλ€.
"νλ‘ νΈμλ κ°λ°μμ΄κΈ° μ μ, λλ λ¨Όμ 'κ°λ°μ 'κ° λμ΄μΌ νλ κ²μ΄κ΅¬λ."
μ무리 μμ μνκ³ λλ¦¬λΈ λ₯λ ₯μ΄ λ°μ΄λλλΌλ μΆκ΅¬ μ μλ‘μ¨μ κΈ°μ΄ μ²΄λ ₯μ΄λ νΌμ§μ»¬, μΆκ΅¬ μ§λ₯μ΄ ννΈμλ€λ©΄ νλ₯ν μ μκ° λκΈ°λ μ΄λ €μΈ κ²μ λλ€. κ°λ°μλ λ§μ°¬κ°μ§λ‘, μ무리 λ΄κ° μ΅μ κΈ°λ₯μ μλνλ λΌμ΄λΈλ¬λ¦¬λ₯Ό λ₯μλ₯λν λ€λ£¨λ©° νΈλ λλ₯Ό μ λ°λΌκ°λλΌλ, κ·Όλ³Έμ μΌλ‘ "λμμ λ¬Έμ λ₯Ό λ Όλ¦¬μ μΌλ‘ μ΄νΌκ³ κΈ°μ μ μΌλ‘ μ€μ€λ‘ ν΄κ²°ν΄λ΄λ λ₯λ ₯"μ΄ μλ€λ©΄, κ·Έκ²μ 10λΆλ λͺ» λ°κ³ νμ§ν΄λ²λ¦¬λ μΆκ΅¬μ μμ λ€λ₯Όλ° μμ κ²μ λλ€.
νλ λΆλλ½κ²λ, μ΄λ μ²μ λ μ¬λ¦° μκ°μ΄ μλλΌ λΆνΈμΊ νλ₯Ό μ§ννλ©΄μ νμ λ€μ΄μλ μ‘°μΈμ λλ€. μ§κΈκΉμ§λ 머리λ‘λ§ μ΄ν΄νκ³ κ΅¬μ²΄μ μΌλ‘ λκ»΄μ§ μ μ΄ μμλλ°, μ€μ λ‘ κ·Έ μν©μ κ²ͺκ³ λμμΌ μ¬λ¬΄μΉκ² κΉ¨λ«λ μ μμ μ 보며 λ§μ λ°μ±κ³Ό μ±μ°°λ νμμ΅λλ€. λν λ¬Έμ λ₯Ό ν΄κ²°ν΄λκ°μ μμ΄ λ€λ₯Έ μμ λ¬Όμ μ§λμΉκ² μμ‘΄νμ§ λ§κ³ , κ·Έ μμ λ¬Όλ€μ΄ λ§λ€μ΄μ§ κ³Όμ μ΄λ μ¬κ³ λ°©μμ ν΅ν΄ λ°°μ΄ ν μ€μ€λ‘ μ μ©ν΄λ³΄λ μλλ₯Ό νν λ¨Όμ μνν΄μΌκ² λ€κ³ λ€μ§νλ κ³κΈ°κ° λμμ΅λλ€.
μ°μμ’μ λ°©ν©νκ³ κ΄ν μ ννλ€λ©° μ΄λ°μλ ννλ λ§μ¬νλ νλ‘μ νΈμ΄μ§λ§, κ²°κ³Όμ μΌλ‘λ λ»κΉμ κ²½νλ€μ΄ μ λ§ λ§μκ³ , μ§λ 3μ£Όκ° λκΌλ μ΄ κ°μ κ³Ό κ³ λ―Όλ€μ μ μ λνμ¬ κΈ°λ³Έμ μΆ©μ€ν κ°λ°μκ° λμ΄μΌκ² λ€κ³ λ§μμ΄ λ€μ‘μμ§λ μ¬μ μ΄μκΈ° λλ¬Έμ κ°μ¬ν λ§μμ΄ ν½λλ€. λΉλ‘ μμ±λκ° λ°μ΄λμ§ μμ§λ§ κ·Έ κ³Όμ μμ λ§μ λ°°μκ³Ό κΉ¨λ¬μμ΄ μμλ, μ°ΈμΌλ‘ κ³ λ§μ΄ νλ‘μ νΈκ° λμλ€λ μκ°μ λλ€. μ΄λ₯Ό λ°νμΌμ "μ§μ§ κ°λ°μ" κ° λκΈ° μν΄ μ±μ₯ν΄ λκ°λλ‘ ν΄μΌκ² μ΅λλ€. π₯
Libraries & tools used
- React
- React-router
- Recoil
- OpenCv
- Styled-components
- React-app-rewired
How to run it locally
- μλμ μμμ λ°λΌ, νλ‘μ νΈλ₯Ό clone λ°μ ν νλ‘μ νΈ λλ ν 리 λ΄μμ λͺ λ Ήμ΄λ₯Ό μ€ννμλ©΄ λ©λλ€.
git clone <https://github.com/rktnsinger/layout-generator-client.git>
npm install
npm start
- An Hyungwoo (μ νμ°)
- [email protected]