
OpenAI๊ฐ 5๊ฐ์ ๋ง์ 100๋ง ์ค์ 0์ค์ ์๋ ์ฝ๋๋ก ๋ง๋ ๋น๊ฒฐ, Harness Engineering. ํ๋กฌํํธ๋ฅผ ์ ์ฐ๋ ์๋๋ ๋๋ฌ๋ค. ์ด์ ๋ AI๊ฐ ์ค์ํ ์ ์๋ ํ๊ฒฝ์ ์ค๊ณํ๋ ์๋๋ค. ๊ฐ๋ ๋ถํฐ Flutter+Next.js ์ค์ ์ ์ฉ๊น์ง.

AI๊ฐ ์ฝ๋๋ฅผ ์ง๋ ์๋, ๊ฐ๋ฐ์์ ์ญํ ์ '์ฝ๋ ์์ฑ์'์์ 'AI๊ฐ ์์ ํ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ํ๊ฒฝ ์ค๊ณ์'๋ก ๋ฐ๋๋ค. OpenAI๊ฐ ๊ณต๊ฐํ Harness Engineering โ ์ ์ฝ, ํผ๋๋ฐฑ ๋ฃจํ, ์๋ ํ์ง ๊ด๋ฆฌ๋ก ๊ตฌ์ฑ๋ AI ์์ด์ ํธ ์ด์ฉ ๋ฐฉ๋ฒ๋ก

์์ฝ ๋์์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋น๊ด์ ๋ฝ์ ๋์ ํ์ผ๋, ์ฒซ ์์ฝ ์ '๋น ํ(Empty Row)'์ ์ ๊ทธ์ง ๋ชปํ๋ ํ๊ณ์ ๋ถ๋ชํ์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด DB Unique ์ ์ฝ์กฐ๊ฑด๊ณผ saveAndFlush()๋ฅผ ํ์ฉํ 3์ค ๋ฐฉ์ด์ ์ ๊ตฌ์ถ

๋จ์ CRUD๋ฅผ ์ง๋ฉด์ ๋ฐ๊ฒฌํ ๊ฒ๋ค. ์ฑ๊ธํค Service์ ์ค๋ ๋ ์์ ์ฑ, Entity ์กฐํ์ GC ๋น์ฉ, @Transactional ๋ค์ ThreadLocal ๋ฉ์ปค๋์ฆ๊น์ง โ ์ฝ๋์ ๊น์ด๋ ๊ธฐ๋ฅ์ ๋ณต์ก๋๊ฐ ์๋๋ผ ์๋ฆฌ์ ์ดํด์์ ๋์จ๋ค.

ํ ์คํธ ์ฝ๋๋ฅผ ์ฒ์ ์ง๋ณด๋ฉด์ ๋ฐฐ์ด ๊ฒ๋ค. Entity/Repository/Service ํ ์คํธ์ ์ฐจ์ด, given/when/then ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ ํ ์คํธ๋ฅผ ์ง๋ค๊ฐ ํ๋ก๋์ ์ฝ๋์ ์ค๊ณ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ ์ด์ผ๊ธฐ.

API ์ค๊ณํ๋ฉด์ ๋ถ๋ชํ 3๊ฐ์ง. /me ํจํด์ REST ์์น ์๋ฐฐ, ํ๋ก ํธ vs ๋ฐฑ์๋ ๊ฒ์ฆ ๊ฒฝ๊ณ, ํฌ๋ก์ค ๋๋ฉ์ธ ์์กด ๋ฌธ์ ๋ฅผ ์ค์ ์ฝ๋์ ํธ๋ ์ด๋์คํ์ ํจ๊ป ์ ๋ฆฌํ๋ค.
๐ 2025๋ ์ต์ ๋ฒ์ ์๋ฒฝ ๋์! ๊ฐ์ ๐ Flutter ์ฑ์์ Firebase Authentication๊ณผ ํจ๊ป ๊ตฌ๊ธ, ์ ํ, ์นด์นด์ค ๋ก๊ทธ์ธ์ ๋ชจ๋ ๊ตฌํํ ๊ฒฝํ์ ์ ๋ฆฌํ๋ค. ๊ฐ ํ๋ซํผ๋ณ ํน์ง๊ณผ ์ฃผ์์ฌํญ, ๊ทธ๋ฆฌ๊ณ ์ค์ ๊ตฌํ ๊ณผ์ ์์ ๋ง์ฃผํ ๋ฌธ์ ์ ๋ค๊น์ง ๊ธฐ๋กํด
Flutter ์ฑ์์ Pretendard Variable ํฐํธ๊ฐ Android์์๋ง ํ ์คํธ๊ฐ ํ๋ฆฟํ๊ฒ ๋ ๋๋ง๋๋ ๋ฌธ์
Flutter ์ฑ์ Android๋ก ๋ฐฐํฌํ๋ ค๊ณ ํ๋ฉด, ๋ฐ๋์ ๊ฑฐ์น๋ ๋จ๊ณ๊ฐ ์๋ค. ๋ฐ๋ก key.properties ์ค์ ๊ณผ keystore๋ฅผ ํตํ ์ฑ ์๋ช (Signing) ๊ณผ์ ์ด๋ค. ๋ง์ ํํ ๋ฆฌ์ผ์ด "๊ทธ๋ฅ ์ด๋๋ก ๋ฐ๋ผํ์ธ์"๋ผ๊ณ ํ์ง๋ง, ๋๋ ์ด๋ฒ์ ๋ฐฐํฌํ๋ฉด์ ์ ์ด
10๋ ๋์ ๊ฐ๋ฐ์ด๋ผ๋ ์ผ์ ํ๋ค. ๋๊ฐ ๋ณด๋ฉด ๊ธด ์๊ฐ์ผ ์๋ ์๊ฒ ์ง๋ง, ๋๋ ๊ทธ ์๊ฐ์ ๋๋ฌด ๋น์ฐํ๊ฒ ํต๊ณผํด์จ ๊ฒ ๊ฐ๋ค. ์ธ์ ๋ถํด๊ฐ ๋ญ๊ฐ๋ฅผ ๋ง๋ค๋ฉด์๋, โ์ ์ด๋ ๊ฒ ํ๋ ๊ฑธ๊น?โ ๋ผ๋ ์ง๋ฌธ์ ๋์น๊ณ ์์๋ ๊ฒ ๊ฐ๋ค
Flutter๋ก ์ฑ ๊ฐ๋ฐ์ ์์ํ๋ ค๋ฉด ๊ฐ์ฅ ๋จผ์ ํด์ผ ํ ์ผ์?๋ฐ๋ก flutter create ๋ช ๋ น์ด๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค.์ด ๊ธ์์๋ ์ด ๋ช ๋ น์ด์ ์๋ฆฌ์ ์ต์ ๋ค์ ์์์ ํจ๊ป ์ ๋ฆฌํด๋ณธ๋ค โ๏ธ
โ์๋ฒ๋ ์ด๋ป๊ฒ ์์ฒญ์ด ์ฑ์์ ์๋์ง, ์น์์ ์๋์ง ์ ์ ์์๊น?โ