SWIFT
-
STT๋ฅผ ์ด์ฉํด ์์ฑ์ ํ ์คํธ๋ก ๋ณํํด๋ณด์ ๐ฃ๏ธiOS 2023. 12. 26. 18:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ iOS์ STT๋ฅผ ์ด์ฉํ์ฌ ์์ฑ์ ํ ์คํธ๋ก ๋ณํํ๋ ํ์ต์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์์๋ STT๊ฐ ๋ฌด์์ธ์ง ์์๋ณด๊ณ ์ด๋ฅผ ํ๋ก์ ํธ์์ ํ์ฉํ์ฌ ์ง์ ์์ฑ์ ํ ์คํธ๋ก ๋ณํํด๋ณด๋ ์ฝ๋๊น์ง ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค! ๊ทธ๋ผ STT๊ฐ ๋์ฒด ๋ญ์ง ์์๋ณผ๊น์? STT(Speech-to-Text)๋?STT๋ Speech-to-Text์ ์ฝ์์ด๋ฉฐ, ์์ฑ์ ํ ์คํธ๋ก ๋ณํํ๋ ๊ธฐ์ ์ ๋งํฉ๋๋ค. ์ฃผ๋ก, ์์ฑ ์ธ์์ด๋ ์์ฑ ๋ณํ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๊ณ ์์ฑ ๋ฐ์ดํฐ ์์ฒด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ํํ๋ก ๋ณํํ๋ ๊ณผ์ ์ ํฌํจํด์! ํํ STT๋ง๊ณ TTS(Text-to-Speech)๋ ๋ง์ด ๋ค์ด๋ณด์ จ์ํ ๋ฐ์! ์ด๋ฆ์์๋ ์ ์ถํ ์ ์๋ฏ์ด ์๋ก ๋ฐ๋์ ๊ฐ๋ ์ ๋๋ค. TTS๋ ํ ์คํธ๋ฅผ ์์ฑ ์ค๋์ค๋ก ๋ณํํ๋๊ฒ์ด๊ณ S..
-
์ถ์ํ์ ๋คํ์ฑSwift 2023. 12. 11. 19:35
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ถ์ํ์ ๋คํ์ฑ์ ๋ํด ์๊ธฐํด๋ณผ๊น ํฉ๋๋ค ๐๐ป ๋ค๋ค ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ, ์ฆ OOP๋ผ๊ณ ๋ถ๋ฆฌ๋๊ฒ์ ๋ํด ํน์ง์ ์๊ณ ์์๊ฑฐ์์. ์ถ์ํ, ๋คํ์ฑ, ์บก์ํ, ์์ ๊ทธ ์ค์์ ํด๋น ํฌ์คํ ์์๋ ์ถ์ํ์ ๋คํ์ฑ์ด๋ผ๋๊ฒ์ ๋ํด ํ๋ฒ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค. ์ฒ์ ๊ฐ์ฒด ์งํฅ์ด๋ผ๋ ๊ฐ๋ ์ ์ ํ์ค ๋ ์๊ทผํ ๋ง์ด ํท๊ฐ๋ คํ์๋ ํฌ์ธํธ์ธ๊ฒ ๊ฐ์์ ์ต๋ํ ์ฝ๊ฒ ํ์ด๋ณด๋ฉด์ ์ ๋ฌ ํด๋ณด๊ณ ์ถ์ด์ ์ด๋ ๊ฒ ํฌ์คํ ์ ์ฐ๊ฒ ๋์์ต๋๋คใ ใ ํน์ OOP์ ๋ํด ๋ฌด์์ธ์ง ์ฒ์ ๋ค์ด๋ณด์ ๋ค๋ฉด ์ฐ์ ๋ค๋ฅธ ๋ฌธ์๋ค์ ๋จผ์ ์ฐธ๊ณ ํ๊ณ ์ค๋๊ฒ์ด ๋ ๋์์ด ๋ ๊ฒ ๊ฐ์์! (๋์ค์ ์ฌ์ ๊ฐ ์์ผ๋ฉด OOP๋ ํ๋ฒ ์ ๋ฆฌํด๋ณผ๊ป์ ๐) ๊ทธ๋ผ ์ถ์ํ์ ๋คํ์ฑ ์์๋ณผ๊น์? ์ถ์ํ Abstraction์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด์งํฅ..
-
Core Data ํํค์น๊ธฐ ๐iOS 2023. 12. 7. 19:15
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ iOS์ Core Data์ ๋ํด ํ๋ฒ ํํด์ณ๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ ํํค์น๊ธฐ๋ก ํด๋ดค๋์ง? ์์ฃผ ์ค๋์ ์..? ๊ฑฐ์ ์ฒ์ iOS๋ฅผ ๋ฐฐ์ธ๋ Core Data๋ฅผ ํ์ตํ๋ฉด์ ํด๋น ๋ธ๋ก๊ทธ ํฌ์คํ ์ผ๋ก ๊ธฐ์ฌํ์ ์ด ์๋๋ผ๊ตฌ์ ๐ฎ CoreData ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ CoreData(์ฝ์ด๋ฐ์ดํฐ)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค..! ์ฐ์ ์ฝ์ด๋ฐ์ดํฐ๋ผ๋๊ฑธ ์๊ธฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์์๋ณด๊ณ ์ฐจ๊ทผ์ฐจ๊ทผ ๋์ด๊ฐ๊ฒ ์ต๋๋คโบ๏ธ 1. ๋ฐ์ด green1229.tistory.com ๊ทธ๋์ ์ฐธ๊ณ ์ฐจ ๋ณด๋ คํ๋๋ฐ, ํฐ ํ์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ค ์์ฃผ๋ก ๋์ด ์์ด์ ์ค์ ๋ธ๋ก๊ทธ๋ง ๋ณด๊ณ ์ ์ฉ์ด ์ด๋ ค์ ์ด์. ์ ๋ธ๋ก๊ทธ๋ ์ฝ์ด ๋ฐ์ดํฐ์ ๊ด๊ณํ DB์ ๊ฐ๋ ์ค๋ช ์ ์ด์ ์ ๋ง์ถฐ์ ์ด๋ฌํ ๋ ์์ด๋ค~ ์๊ฐ์์ต..
-
์ธ์ฑ๋ฆฌ๋ทฐ(In-App Review) ์ฐ๋ํ๊ธฐiOS 2023. 11. 9. 10:02
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ธ์ฑ๋ฆฌ๋ทฐ(In-App Review) ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ์ธ์ฑ๋ฆฌ๋ทฐ๊ฐ ๋ฌด์์ธ์ง ๋ถํฐ ์์๋ณด๊ฒ ์ต๋๋ค. ์ธ์ฑ๋ฆฌ๋ทฐ (In-App Review) ์ธ์ฑ๋ฆฌ๋ทฐ๋ ์ฐ๋ฆฌ๊ฐ ์ ๊ณตํ๋ ์ฑ ์์์ ์ฑ์ ์ฑ์คํ ์ด ํ์ ๋ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ ์ ์๋๋ก ์์ฒญํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฆ, ๋ง์ด๋ค ์ฑ์ ์ฌ์ฉํ๋ค๋ณด๋ฉด ์ด ์ฑ์ ํ์ ์ ๋จ๊ฒจ๋ฌ๋ผ๋ ํ์ ์ด ๋ฐ ๊ฒฝ์ฐ๋ฅผ ์ข ์ข ๋ณธ์ ์ด ์์ผ์ค๊ฑฐ์์. ์ฝ๊ฒ ๋งํด, ์ฑ ๋ด์์ ํ์ ๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ์์ฒญํ๋ ๊ธฐ๋ฅ์ด๋ผ๊ณ ์ ๋ฆฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ์ธ์ฑ๋ฆฌ๋ทฐ์ ์ฝ๋๋ฅผ ์ฌ์ด์ฃผ์ด๋ ์ธ์ฑ๋ฆฌ๋ทฐ๋ฅผ ๋์ฐ๋ ๊ฒฐ์ ์ ์ ํ ๋ด๋ถ ์์คํ ์์ ํด์ฃผ๊ธฐ์ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ปจํธ๋กคํ ์ ์๋ ๋ถ๋ถ๋ค์ด ๋ง์ต๋๋ค ๐ฅฒ ์ธ์ฑ๋ฆฌ๋ทฐ์ ํน์ง๋ค์ ์กฐ๊ธ ์ดํด๋ณผ๊น์? ์ธ์ฑ๋ฆฌ๋ทฐ ํน์ง 1๏ธโฃ ์์คํ ์ ์ผ๋ก..
-
rethrows๋ก ์๋ฌ๋ฅผ ๋ค์ ๋์ ธ๋ณด์ ๐ฅSwift 2023. 11. 3. 09:34
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift์ rethrows์ ๋ํด ํ๋ฒ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป rethrows? ์ฐ์ rethrows๊ฐ ๋ญ๊น์? throws๋ผ๋๊ฒ์ ๋ค๋ค ์๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ ์ํฉ์์ ์๋ฌ๋ฅผ catchํ์ฌ ์๋ฌ๋ฅผ ๋ค๋ฅธ์ชฝ์์ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋๊ฒจ์ฃผ๋๊ฒ ์ฝ๊ฒ ๋งํด ๋์ ธ์ฃผ๋ ์๋ฏธ์ฃ ? ๊ทธ๋ฐ ๊ด์ ์์ rethrows๋ re + throws์ ๋๋ค. ์ฆ, ๋ค์ ๋์ ธ์ฃผ๋๊ฒ์ธ๋ฐ ๋ ์ฝ๊ฒ ํํํด๋ณด๋ฉด ๋๊ฒจ์ง ์๋ฌ์ ๋ํด ๋ ๋ค๋ฅธ์ชฝ์ผ๋ก ๋๊ฒจ์ฃผ๋๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์์ด์! ํ .... ๋ง๋ก๋ ์ฌ์ค ๋ณต์กํด๋ณด์ด๊ณ ์ดํด๊ฐ ์๊ฐ ์ ์์ต๋๋ค. ์ผ๋จ ์ฐ๋ฆฌ๊ฐ ์ข์ํ๋? ์ฝ๋๋ก ์ฝ๊ฒ ํ์ธํ๊ธฐ ์ ์ rethrows๋ฅผ ๋ฑ ๊ตฌ๋๋ก ํ์ด์ ์ ์ํด๋ณด๊ณ ๊ฐ์์ฃ ๐ ๊ณต์๋ฌธ์์์๋ rethrows๊ฐ ํจ..
-
Default Initializers์ ํํ ์คํดSwift 2023. 10. 17. 14:48
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์ ์งง๊ฒ Swift์ Access Level์ ๊ณต๋ถํ๋ฉด์ ์คํด๊ฐ ์์ผ ์ ์๋ ๋ถ๋ถ์ ๋ํด ํ๋ฒ ๋์ง์ด๋ณด๋ ค๊ณ ํด์ ๐๐ป โ ๏ธ ๋ด์ฉ ๋ค์ ์งง์ ์ฃผ์ โ ๏ธ ์ผ๋จ ์ด๋ ๋ถ๋ถ์์ ์คํด๊ฐ ์์ผ ์ ์์๋์ง ๊ณต์ ๋ฌธ์๋ฅผ ํตํด ํ๋ฒ ํ์ธํด๋ณผ๊ป์ใ ใ Default Initializers ๋ฐ๋ก Default Initializers ๋ถ๋ถ์ธ๋ฐ์. ์ฌ๊ธธ ํ๋ฒ ํด์ํด๋ณด๋ฉด ์ด๋ ์ต๋๋ค. "Swift๋ ๋ชจ๋ ํ๋กํผํฐ๊ฐ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ง๊ณ ์๊ณ , ๊ทธ ์์ฒด๋ก ์ ์ด๋ ํ๋์ ์ด๊ธฐํ ํจ์๋ฅผ ์ ๊ณตํ์ง ์๋ ๊ตฌ์กฐ์ฒด๋ ๊ธฐ๋ณธ ํด๋์ค์ ๋ํด ์๋์ผ๋ก ์ธ์๊ฐ ์๋ ๊ธฐ๋ณธ ์ด๊ธฐํ ํจ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๊ฒ์ Default Initailizers์ธ ๊ธฐ๋ณธ ์ด๋์ ๋ผ์ด์ ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ๊ธฐ๋ณธ ์ด๋์ ๋ผ์ด์ ์ ์ ๊ทผ ๋ ๋ฒจ์ ์ผ๋ฐ์ ์ผ๋ก ํด..
-
Debouncer ๋ง๋ค๊ธฐ (No Combine, No RxSwift)Swift 2023. 10. 9. 02:53
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ๋ก์ง์์ ์์ฃผ ๊ฐ๋จํ ์ฌ์ฉํ ์ ์๋ Debouncer๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป No Combine, No RxSwift Combine์ด๋ RxSwift์์ ํํ ์ ํ ์ ์๋ debounce์ ์ฌ์ฉ๊ณผ ํผ๋ํ ์ ์์ด์ ํ๋ฒ ์ง๊ณ ๋์ด๊ฐ๋ณผ๊ป์. ์์๋ก ์ ํ ๊ณต์๋ฌธ์์ Combine ์ฝ๋๋ฅผ ์กฐ๊ธ ๋ ์๊ธฐ ์ฝ๊ฒ ๋ณ๊ฒฝํ์ฌ ๊ฐ์ ธ์๋ณด๊ฒ ์ต๋๋ค. let bounces:[(String,TimeInterval)] = [ ("Black", 0), ("Green", 0.25), // 0.25s interval since last index ("Red", 1), // 0.75s interval since last index ("Blue", 1.25), // 0.25s inter..
-
Colletcion์ Struct ํ์ ์ธ๋ฐ Heap์ ์ ์ฅ๋๋ ์ด์ ?Swift 2023. 9. 25. 14:33
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Swift ์ธ์์ผ๋ก ๋์ด์์ Collection์ด๋ผ๋ ๊ฐ ํ์ ์ด ์ Heap์ ์ ์ฅ๋๋์ง ๊ทธ ์ด์ ๋ฅผ ํํค์ณ๋ณด๊ฒ ์ต๋๋ค! ์ด์ ํฌ์คํ ์์ ๋ฉ๋ชจ๋ฆฌ ๋คํ๋ฅผ ๋ถ์ํ๋ค๊ฐ string์ด dump์ ๋จ์์๋๊ฑธ ๋ณด๊ณ string์ ์กฐ๊ธ ๋ ํํค์ณ๋ณด๊ณ ์์๋๋ฐ์. ์ ๋ชฐ๋๋ ์ฌ์ค์ด๋ ์๋ชป ์๊ณ ์์๋ ์ง์์ ๊นจ๋ฌ์์ด์!๊ทธ๋์ ์ด๋ฒ์ String์ผ๋ก ์์ํ์ง๋ง Collecion์ด๋ผ๋ ์์ ๊ฐ๋ ์ผ๋ก ๊ฐ์ด ์ค๋ช ์ ํด๋ณด๋ คํฉ๋๋ค ๐๐ป ๋ฉ๋ชจ๋ฆฌ ๋คํ ๋ถ์ (feat. fridump)์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ fridump๋ฅผ ์ด์ฉํด์ ๋ฉ๋ชจ๋ฆฌ ๋คํ ๋ถ์์ ํด๋ณผ๊นํด์! ์ฌ์ค ๋ณด์ํ์์๋ ๊ฐ ์ฑ์ ๋ณด์์ ์ง๋จํ๊ธฐ ์ํด์ memory dump๋ฅผ ๋ณด๊ณ ๋ถ์ํ๋ ์ ๋ฌด๋ ํ๊ณ gree..