Githawk: ๋Œ“๊ธ€ ์ˆ˜์ •

์— ๋งŒ๋“  2017๋…„ 07์›” 29์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: GitHawkApp/GitHawk

  • ๋ทฐ์–ด๊ฐ€ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธ
  • ๋Œ“๊ธ€์— "..." ์•„์ด์ฝ˜ ํ‘œ์‹œ
  • ์˜ต์…˜์ด ์žˆ๋Š” ๊ฒฝ๋ณด ์ปจํŠธ๋กค๋Ÿฌ(์˜ˆ: ํŽธ์ง‘)
  • ํŽธ์ง‘์— Slack TV ์‚ฌ์šฉ
๐Ÿ†• feature request

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด์— ๋Œ€ํ•ด ์•ฝ๊ฐ„์˜ ์ง„์ „์„ ์ด๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด String ๋ฐ viewerCanUpdate ์›๋ž˜ ๊ฐ€๊ฒฉ ์ธํ•˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ ์ฃผ์„์— "..." ๋ฐ ์ž‘์—… ๋ฉ”๋‰ด๋ฅผ ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ„ํš์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • viewerCanUpdate == true ์ธ ๊ฒฝ์šฐ ํŽธ์ง‘ ์ž‘์—… ํ•ญ๋ชฉ ์ถ”๊ฐ€
  • IssueViewController ์— ๋Œ€๋ฆฌ์ธ ์ด๋ฒคํŠธ ๋ณด๋‚ด๊ธฐ
  • editing = true ๋ฅผ ์„ค์ •ํ•˜๊ณ  IssueCommentSectionController $๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

    • ๋ชจ๋“  ์…€์„ 50% ํˆฌ๋ช…์œผ๋กœ ๋ณ€๊ฒฝ

  • ์ด์Šˆ VC๋Š” Slack ํ…์ŠคํŠธ ํ•„๋“œ์— rawMarkdown ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ฒซ ๋ฒˆ์งธ ์‘๋‹ต์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  • ์ทจ์†Œ ์‹œ editing = false ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์„น์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด๋‚ผ ๋•Œ ์–ด๋”˜๊ฐ€์— ์Šคํ”ผ๋„ˆ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค(์ „์ฒด VC๋ฅผ ์˜ค๋ฒ„๋ ˆ์ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?)

    • ์™„๋ฃŒ ์‹œ ์—…๋ฐ์ดํŠธ๋œ ์ฃผ์„ ๋ชจ๋ธ ์ˆ˜์‹ 

    • ๊ตฌ๋ฌธ ๋ถ„์„

    • ์ƒˆ ๋ชจ๋ธ์„ ํ”ผ๋“œ์— ์ถ”๊ฐ€(์›๋ž˜ ๋ชจ๋ธ ๊ต์ฒด)

๊ฝค ๋ณต์žกํ•˜์ง€๋งŒ ์ชผ๊ฐœ์ง‘๋‹ˆ๋‹ค.

๋ชจ๋“  8 ๋Œ“๊ธ€

๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค.

์ข‹์€ ์•Œ๋ฆผ์ž…๋‹ˆ๋‹ค. ๊ณ„์† ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

์•ฑ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์•ฑ์€ ๋‹ค๋ฅธ ์•ฑ๋ณด๋‹ค ํ›จ์”ฌ ๊นจ๋—ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

*๋‹น์‹ ์˜

์ด๊ฒƒ์ด ์ด ๋ฌธ์ œ์˜ ์ด์œ ์ž…๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•ด ์•ฝ๊ฐ„์˜ ์ง„์ „์„ ์ด๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด String ๋ฐ viewerCanUpdate ์›๋ž˜ ๊ฐ€๊ฒฉ ์ธํ•˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ ์ฃผ์„์— "..." ๋ฐ ์ž‘์—… ๋ฉ”๋‰ด๋ฅผ ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ„ํš์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • viewerCanUpdate == true ์ธ ๊ฒฝ์šฐ ํŽธ์ง‘ ์ž‘์—… ํ•ญ๋ชฉ ์ถ”๊ฐ€
  • IssueViewController ์— ๋Œ€๋ฆฌ์ธ ์ด๋ฒคํŠธ ๋ณด๋‚ด๊ธฐ
  • editing = true ๋ฅผ ์„ค์ •ํ•˜๊ณ  IssueCommentSectionController $๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

    • ๋ชจ๋“  ์…€์„ 50% ํˆฌ๋ช…์œผ๋กœ ๋ณ€๊ฒฝ

  • ์ด์Šˆ VC๋Š” Slack ํ…์ŠคํŠธ ํ•„๋“œ์— rawMarkdown ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ฒซ ๋ฒˆ์งธ ์‘๋‹ต์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  • ์ทจ์†Œ ์‹œ editing = false ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์„น์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด๋‚ผ ๋•Œ ์–ด๋”˜๊ฐ€์— ์Šคํ”ผ๋„ˆ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค(์ „์ฒด VC๋ฅผ ์˜ค๋ฒ„๋ ˆ์ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?)

    • ์™„๋ฃŒ ์‹œ ์—…๋ฐ์ดํŠธ๋œ ์ฃผ์„ ๋ชจ๋ธ ์ˆ˜์‹ 

    • ๊ตฌ๋ฌธ ๋ถ„์„

    • ์ƒˆ ๋ชจ๋ธ์„ ํ”ผ๋“œ์— ์ถ”๊ฐ€(์›๋ž˜ ๋ชจ๋ธ ๊ต์ฒด)

๊ฝค ๋ณต์žกํ•˜์ง€๋งŒ ์ชผ๊ฐœ์ง‘๋‹ˆ๋‹ค.

Slack TV๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํฌ๋ž˜์น˜๋ฅผ ... ๋„ˆ๋ฌด ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹ ์—:

  • "ํŽธ์ง‘" ๋ฉ”๋‰ด ์˜ต์…˜ ํ‘œ์‹œ
  • UITextView (์ž‘์—… ํ‘œ์‹œ์ค„ ํฌํ•จ)์ธ ์ƒˆ IssueEditCommentViewController ๋ฅผ ๋ชจ๋‹ฌ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

    • ์•ก์…˜ ๋ฐ”๋Š” ์ž์ฒด ํด๋ž˜์Šค ๋˜๋Š” ๋ฌด์–ธ๊ฐ€์— ๋ฒˆ๋“ค๋กœ ์ œ๊ณต๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค...

    • VC ์›๋ณธ ๋งˆํฌ๋‹ค์šด ํ…์ŠคํŠธ ์ œ๊ณต

  • ๋ชจ๋‹ฌ์—๋Š” "์ทจ์†Œ" ๋ฐ "์—…๋ฐ์ดํŠธ"๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ฑ๊ณตํ•˜๋ฉด ์ƒˆ ๋งˆํฌ๋‹ค์šด ๋ชจ๋ธ์ด ์žˆ๋Š” ์„น์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ์„น์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ƒˆ๋กœ์šด ๋งˆํฌ๋‹ค์šด๊ณผ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด IssueCommentModel (๋˜๋Š” ๋ฌด์–ธ๊ฐ€)๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ทฐ ๋ชจ๋ธ์„ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

์˜ˆ, ์ธ๋ผ์ธ ํŽธ์ง‘์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ด๊ฒƒ์ด ์ž‘๋™ํ•ด์•ผ ํ•˜๊ณ  _lot_ ๋” ์‰ฌ์›Œ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ง‘์œผ๋กœ ๊ฐ€๋Š” ๋น„ํ–‰๊ธฐ์—์„œ ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋” ๋งŽ์€ ์ง„์ „์„ ์ด๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ํŽธ์ง‘ VC๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • viewerCanUpdate ์ผ ๋•Œ ์—ฐ๊ฒฐ๋œ ๊ฒฝ๊ณ  ์ž‘์—…

๋„คํŠธ์›Œํ‚น ๋ฐ UI ์—…๋ฐ์ดํŠธ๋Š” ๋‹ค์Œ์ž…๋‹ˆ๋‹ค.

TestFlight์—์„œ ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰