Filter-Cam๐ŸŒ†

RxSwift๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ์‚ฌ์ง„ ํ•„ํ„ฐ ์–ดํ”Œ์ž…๋‹ˆ๋‹ค.

์Šคํ‚ฌ

  • Swift
  • MVC Pattern

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • RxSwift
  • RxCocoa
  • SnapKit
  • CoreImage

๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๋งํฌ

ํŠน์ง•

์‚ฌ์ง„ ์„ ํƒ

  • ์‚ฌ์ง„ ๋ชฉ๋ก ํ™”๋ฉด์˜ PublishSubject๋Š” selectedPhoto ๋ณ€์ˆ˜ ์ด๋ฒคํŠธ๋ฅผ ๊ด€์ฐฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์ธ ํ™”๋ฉด์€ ์ด ๋ณ€์ˆ˜๋ฅผ subscribeํ•˜์—ฌ ๋ณ€์ˆ˜์— ์„ ํƒ๋œ ์‚ฌ์ง„์ด ํ• ๋‹น๋˜๋ฉด, ์ž์‹ ์˜ ํ™”๋ฉด์— ํ•ด๋‹น ์‚ฌ์ง„๋ฅผ ๋„์›๋‹ˆ๋‹ค.

ํ•„ํ„ฐ ์ ์šฉ

  • ์‚ฌ์ง„์— ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›์•„ ํ•„ํ„ฐ ์ฒ˜๋ฆฌ๋œ ์‚ฌ์ง„์„ ํด๋กœ์ €๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์ธ ํ™”๋ฉด์€ ์ด ํ•จ์ˆ˜๊ฐ€ ํด๋กœ์ €๋กœ ํ•„ํ„ฐ ์ฒ˜๋ฆฌ๋œ ์‚ฌ์ง„์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ž์‹ ์˜ ํ™”๋ฉด์— ํ•„ํ„ฐ ์ฒ˜๋ฆฌ๋œ ์ด๋ฏธ์ง€๋ฅผ ๋„์›๋‹ˆ๋‹ค.

ํ™”๋ฉด

์‚ฌ์ง„ ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

  • ๋ฉ”์ธ ํ™”๋ฉด์˜ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ธฐ๊ธฐ์˜ ์‚ฌ์ง„๋“ค์„ ๊ฐ€์ ธ์™€ ์ปฌ๋ ‰์…˜๋ทฐ์— ๋„์›๋‹ˆ๋‹ค.
  • ์‚ฌ์ง„์€ ์ตœ์‹  ์‚ฌ์ง„๋ถ€ํ„ฐ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์‚ฌ์ง„์„ ํด๋ฆญํ•˜๋ฉด ๋‹ค์‹œ ๋ฉ”์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋ฉฐ, ์„ ํƒํ•œ ์‚ฌ์ง„์ด ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค.

ํ•„ํ„ฐ ์ ์šฉ

  • ๋ฉ”์ธ ํ™”๋ฉด์— ์„ ํƒํ•œ ์‚ฌ์ง„์ด ์ถ”๊ฐ€๋˜๋ฉด ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ ์šฉ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜๋ฉด, ํ•„ํ„ฐ๊ฐ€ ์ ์šฉ๋œ ์‚ฌ์ง„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ ์šฉํ•œ ํ›„ ๋‹ค์‹œ ์ทจ์†Œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ด์ „ ์ƒํƒœ๋กœ ๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„ํ„ฐ ๋ณ€๊ฒฝ

  • ํ•„ํ„ฐ๋Š” ํ•˜ํ”„ํ†ค, ์„ธํ”ผ์•„ํ†ค, ๋ชจ๋…ธํ†ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„ํ„ฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํ•„ํ„ฐ ์ข…๋ฅ˜๋“ค์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„ํ„ฐ๋Š” ๋ชจ๋ธ๋กœ ๊ตฌํ˜„๋˜๋ฉฐ ํ•„ํ„ฐ์˜ CIKey, ์ด๋ฆ„(ํ•œ๊ธ€), ๋ฐฐ๊ฒฝ์ƒ‰์ƒ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„ํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋ฒ„ํŠผ์˜ UI๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
  • ์ด์ „์— ํ•„ํ„ฐ๊ฐ€ ์ด๋ฏธ ์ ์šฉ์ด ๋˜์–ด์„œ ์ทจ์†Œ ๋ฒ„ํŠผ์ด๋”๋ผ๋„ ํ•„ํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์ ์šฉ ๋ฒ„ํŠผ์œผ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž๊ฐ€ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜๊ณ ์ž ํ•„ํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ชฉ์ ์ด ํฌ๊ธฐ์— ๋ฒ„ํŠผ์€ ์ ์šฉ ๋ฒ„ํŠผ์œผ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค).

GitHub

View Github