All Articles

κΌ­ 해봐야 μ•ŒκΉŒ

ν•™κΈ° μ€‘μ—λŠ” ν•™κΈ°λΌκ³ ν•΄μ„œ SNUTT 리뉴얼 μž‘μ—…μ„ μ†Œν˜νžˆ ν–ˆλŠ”λ°, μ •μž‘ 방학이 μ‹œμž‘ν•˜λ‹ˆκΉŒ λ’€λŠ¦κ²Œ λŒ€ν•™μ›μ„ μ²΄ν—˜ν•˜κ² λ‹€κ³  μ‹œμž‘ν•œ λž©μΈν„΄μ΄ 생각보닀 λ°”λΉ μ„œ κΎΈμ€€νžˆ 컀밋을 ν•˜μ§€ λͺ»ν–ˆλ‹€. κ·Έλž˜λ„ μ’€μžˆμœΌλ©΄ μˆ˜κ°•μ‹ μ²­μΈλ° κ·Έλ•ŒκΉŒμ§€ 완성은 ν•˜μ§€ λͺ»ν•˜λ”라도 μ‘°κΈˆμ”© 진전은 보여야 같이 μž‘μ—…ν•˜λŠ” λ™μƒλΆ„λ“€μ—κ²Œ 덜 λ―Έμ•ˆν•  것 κ°™μ•„ κ·Έλ™μ•ˆμ˜ λ‚œμ œμ˜€λ˜ νŠΉμ • μ‹œκ°„λŒ€λ₯Ό μ„ νƒν•΄μ„œ κ²€μƒ‰ν•˜λŠ” 뢀뢄을 짜보기둜 ν–ˆλ‹€. 사싀 이 뢀뢄은 μ˜ˆμ „μ— ν•œ 번 μ§œμ„œ 잘 λŒμ•„κ°”μ—ˆλŠ”λ°, μ½”λ“œκ°€ λ„ˆλ¬΄λ‚˜λ„ μ§€μ €λΆ„ν•΄μ„œ λ‹€μ‹œ μ§œλŠ” 것이닀.

μŠ€νŽ™?은 κ°„λ‹¨ν•˜λ‹€. κ·Έλƒ₯ λΉˆμΉΈμ— 마우슀λ₯Ό λ“œλž˜κ·Έν•˜λ©΄ 칸이 μ„ νƒλ˜κ³ , μ„ νƒλœ μΉΈμ—μ„œ λ“œλž˜κ·Έλ₯Ό μ‹œμž‘ν•˜λ©΄ μ‚­μ œ λͺ¨λ“œκ°€ λ˜μ–΄ 선택이 μ·¨μ†Œλœλ‹€. Redux μ½”λ“œλ“€μ—μ„œ 많이 ν•˜λŠ”λŒ€λ‘œ

const TableState = {
  SELECTING: 'SELECTING',
  DELETING: 'DELETING',
  CALM: 'CALM',
}

const CellState = {
  EMPTY: 'EMPTY',
  SELECTED: 'SELECTED',
  SELECTING: 'SELECTING',
  DELETING: 'DELETING',
  UNABLED: 'UNABLED',
}

ν…Œμ΄λΈ”κ³Ό μ…€μ˜ μƒνƒœλ₯Ό 미리 정해놓고,

this.handleMouseDown = this.handleMouseDown.bind(this)
this.handleMouseUp = this.handleMouseUp.bind(this)
this.handleMouseEnter = this.handleMouseEnter.bind(this)
this.state = {
  tableState: TableState.CALM,
  dragInit: { row: -1, col: -1 },
  cellStateTable: new Array(this.props.row).fill(
    new Array(this.props.col).fill(CellState.EMPTY)
  ),
}

λͺ¨λ“ˆμ΄ λ“œλž˜κ·Έκ°€ 졜초둜 μ‹œμž‘ν•˜λŠ” 지점, ν…Œμ΄λΈ”μ˜ 전체 μƒνƒœ, 그리고 각각의 μ…€μ˜ μƒνƒœλ₯Ό state 둜 κ°€μ§€κ³ μ„œ, 셀듀에 μ΄λ²€νŠΈκ°€ λ°œμƒν•  λ•Œ λ§ˆλ‹€ μ…€μ˜ μƒνƒœ X ν…Œμ΄λΈ”μ˜ μƒνƒœλ‘œ λ‹€μŒ μƒνƒœλ₯Ό λ§Œλ“€μ–΄ μ£Όλ©΄ 될 것 κ°™μ•˜λ‹€.

κ·Έλž˜μ„œ μ‹€μ œ μž˜λ˜λŠ” 것 처럼 λ³΄μ˜€μœΌλ‚˜β€¦

였였

μ˜μ—­μ΄ μ»€μ‘Œλ‹€κ°€ 쀄어듀 경우 ν•œ 번 β€˜SELECTINGβ€™λ‚˜ β€˜DELETINGβ€™μœΌλ‘œ λ³€ν•œ 셀듀이 λ‹€μ‹œ μ›λž˜ μƒνƒœλ‘œ λŒμ•„κ°ˆ 방법이 μ—†λ‹€.

헐

κ²°κ΅­ μ…€λ“€μ˜ 선택 여뢀와 λ“œλž˜κ·Έλœ μ…€λ“€μ˜ μƒνƒœλŠ” μ„œλ‘œ λ‹€λ₯Έ ν‘œμ— μ €μž₯ν•˜κ±°λ‚˜, 00, 01, 10, 11 이런 μ‹μœΌλ‘œλ˜ 뢄리λ₯Ό ν–ˆμ–΄μ•Όν–ˆλŠ”λ° μ²˜μŒμ— κ·Έ 생각을 λͺ»ν•˜κ³ , 일단 μ§œκ³ λ‚˜μ„œμ•Ό μ˜³μ€ λ°©ν–₯을 깨달을 수 μžˆμ—ˆλ‹€.

μš”μ¦˜ ν•˜λŠ” 인턴도 λ§ˆμ°¬κ°€μ§€. κ΅μˆ˜λ‹˜λ“€κ³Ό μ£Όλ³€ 뢄듀이 λ‹€λ“€ ν›Œλ£‘ν•˜μ‹œκ³ , λŒ€μ „μ˜ ν™˜κ²½λ„ λ„ˆλ¬΄ μ’‹μ§€λ§Œ 사싀 4 λ…„ λ‚΄λ‚΄ 연ꡬ와 담을 μŒ“κ³  μ‚΄λ‹€κ°€ κ°‘μžκΈ° ν₯λ―Έλ₯Ό 보일 ν™•λ₯ μ€ 적고, ν•΄λ³΄λ‹ˆκΉŒ μ‹€μ œλ‘œλ„ κ·Έλ ‡λ‹€. κ·Έλž˜λ„ λ§‰μ—°νžˆ μƒκ°ν•˜λŠ” 것과, μ™€μ„œ 살살이라도 κ²½ν—˜ν•΄λ³΄λŠ” κ²ƒμ—λŠ” 큰 차이가 μžˆλ‹€.

μ›λž˜ Iterative ν•œ 접근을 μ’‹μ•„ν•˜κ³ , 삢도 κ·Έλž˜μ•Όν•œλ‹€κ³  μƒκ°ν•˜μ§€λ§Œ ν•œ μ‚¬λžŒμ—κ²Œ 주어진 μ‹œκ°„μ€ μœ ν•œν•œ 것도 사싀이닀. 해보지 μ•Šκ³  μ•Œ 수 μ—†λ‹€λ©΄, 많이 ν•˜λŠ” μˆ˜λ°–μ—.

update) κ²°κ΅­ 셀이 μ„ νƒλλ‚˜, μ•ˆλλ‚˜λ§Œ μ €μž₯ν•˜κ³  λ“œλž˜κΉ…μ—¬λΆ€λŠ” κ·Έλƒ₯ μ‹œμž‘~끝만 μ €μž₯ν•œ ν›„ κ·Έλ•Œκ·Έλ•Œ μ²΄ν¬ν•˜λŠ” κ²ƒμœΌλ‘œ λ°”κΏ¨λ‹€κ³  ν•©λ‹ˆλ‹€γ… γ…œ. μ–΄μ°¨ν”Ό λ“œλž˜κ·Έν• λ•Œλ§ˆλ‹€ λ°”λ€ŒλŠ” μ •λ³΄λΌμ„œ λ”°λ‘œ μ €μž₯ν•  ν•„μš”λ₯Ό λͺ»λŠκΌˆλ‹€κ³ β€¦

Published Jul 19, 2016

If I keep marking the dots, someday they will πŸ”—πŸ”—