๐ค ๋์ ์ฌ์์ ์๋ ค๊ฑฐ๋ man์ผ๋ก ์ด๋ํ๋ผ
ย
man.hwangsehyun.com
๐ค ๋์ ์ฌ์์ ์๋ ค๊ฑฐ๋ man์ผ๋ก ์ด๋ํ๋ผ
ย
๐ค ๋์ ์ฌ์์ ์๋ ค๊ฑฐ๋ man์ผ๋ก ์ด๋ํ๋ผ
ย
๐ค ๋์ ์ฌ์์ ์๋ ค๊ฑฐ๋ man์ผ๋ก ์ด๋ํ๋ผ
ย
Overview ํฌ๋ผ์ฐ๋์์ค์์ ์ด๊ธฐ 6๊ฐ์ ๋์ ํ๋ก์ ํธ ๋ฅผ ์ํํ๋ฉด์ ๊ฐ๋ฐ์์ ๋น๊ฐ๋ฐ์๋ค์ด ํ๋กฌํํธ ์์ง๋์ด๋ง๊ณผ ์๋น์ค ๊ฐ๋ฐ์ ๊ฑธ์ณ ๊ฐ์ง๊ณ ์๋ ์๊ตฌ ์ฌํญ์ ์ข ํฉํ๊ณ AWS ์ํ๊ณ ๋ด์์ ์ง์ ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ ์ ๋์ถํ๋ ค๊ณ ๋ ธ๋ ฅํ์ต๋๋ค. 3๋จ๊ณ๋ก ๋๋์ด์ง ํ๋ก์ ํธ์์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ก Queue consumer service์ ํ๋กฌํํธ ์ด์ ํ๋ก์ธ์ค๋ฅผ Python์ผ๋ก ๊ฐ๋ฐํ์ต๋๋ค. 3๋จ๊ณ ์ ์ฒด์์ CloudFormation์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ AWS CDK ์ Copilot CLI ๋ฅผ ์กฐํฉํ ECS ์๋น์ค 2๊ฐ๋ฅผ ์ค์ฌ์ผ๋ก ๋ค์ํ AWS ๋ฆฌ์์ค๋ฅผ ์์ฑํ์ต๋๋ค. Technology CloudFormation Stacks Copilot CLI + AWS CDK ...
Overview ๐ฌ ์ฌ๋ด ๋ฌธ์์ ๋ํ Q&A ์ฑ๋ด ๊ฐ๋ฐ ๋ค์ด๋ฒ ํด๋ผ์ฐ๋์์ ๊ณ ๊ฐ์ฌ์ ๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ทจ๊ธํ๊ธฐ ์ํ ์ธํ๋ผ ๋ฐ ๋ณด์ ์ค๊ณ ์ฑ๋ด ํํ์ PoC ์๋น์ค ์ํคํ ์ฒ ์ค๊ณ ๋ฌด์ ํ์ HWP๋ฅผ HTML ํํ๋ก ๋ณํํด LLM์ ์ ํฉํ ํํ๋ก ์ ํํํ๊ณ ๊ฒ์ํ๋ Frontend ๊ฐ๋ฐ Architecture sequenceDiagram autonumber actor frontend as ๐ป Frontend participant auth as Auth ฮป participant backend as ๐๏ธ Backend frontend ->> auth: ๐ฉ ID, PW auth ->> frontend: ๐ Token frontend ->> backend: ๐ Token backend ->> auth: ๐ Token auth ->> backend: โ โ Pass/Fail backend ->> frontend: ๐ฏ Response Technology ์ธํ๋ผ Minio ๋ผ๋ S3-compatable object storage์ ์๋ณธ ๋ฌธ์์ Chunking document๋ฅผ ์ ์ฌ ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ VM ์ด๊ธฐ ๊ตฌ์ฑ, ๋ชฉ์ ๋ณ๋ก ํ ๋น ๋ฐ ๊ด๋ฆฌ VPN์ ํตํด์๋ง VPC ๋ด๋ถ์ ์ ๊ทผํ ์ ์๋๋ก ๊ตฌ์ฑ ์ฑ๋ด ํํ์ PoC ์๋น์ค ๊ตฌ์ฑ React frontend๊ฐ Fast API chat server, Self-hosted Sentry ๋ฑ์ ์ ๊ทผํ ์ ์๋ Nginx ๊ฐ๋ฐ ์ ๋ฐ์ดํธ๊ฐ ์ฆ์ Fast API ์๋ฒ์ ์์กดํ์ง ์๋๋ก JWT ์๋น์ค๋ฅผ Naver Cloud Function ๋ฅผ ์ด์ฉํด ๋ณ๋๋ก ๋ถ๋ฆฌ ์ฑํ API ์ฌ์ฉ ์๋๋ฆฌ์ค ๊ด๋ฆฌ HTML ์ ํํ Frontend ๊ฐ๋ฐ ๊ธฐ์ ์คํ Lit : ๋๋์ ๊ฒ์ ๋์ HTML element์ Virtual DOM ์์ด ์ง์ ์ ๊ทผํ๊ณ Boiler plating ์์ด ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ธฐ ์ํด์ ์ ํ pREST : ๋ฐฑ์๋์ ์ง์ ์์ด HTML ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฌํ๊ธฐ ์ํด ์ ํ DB ๋ฌธ์ ํ์ฑ ๊ท์น์ Indexed DB์ ์ ์ฌํด ๊ฐ์ธ์ด ๊ด๋ฆฌ ๋ฌธ์ ํ์ฑ ๊ฒฐ๊ณผ๋ Postgres์ ์ ์ฌํด RAG ์์คํ ๊ณผ ์ฐ๋ html ํธ๋ฆฌ๋ฅผ ํ์ํ๋ฉฐ html element๋ง๋ค ์ธ์์ id๋ฅผ ๋ถ์ฌํ๋ ํด์ฑ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฐ ๋ฌธ์ ํ์ฑ ๊ท์น์ UI๋ฅผ ํตํด ์์ฑํ๊ณ ๊ท์น์ ์ ์ฉ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ํ์ธํ ์ ์์ textContent ์ ๋ํ Regex matching, CSS selector, DOM tree ๋ด์ ์์น ๋ฑ์ ๊ณ ๋ ค Minio์ ์ฐ๋๋ Batch ๊ธฐ๋ฅ ๊ฐ๋ฐ Lessons ์๋ก์ด ํ์ฌ์์ ์ผ์ ์์ํ๋ฉฐ ์ง์ ๊ณ ๊ฐ์ฌ์ ์ํตํ์ง ์๊ณ PM๊ณผ ํ์ ํ์ต๋๋ค. Lit framework๋ฅผ ์ด์ฉํด์ ๋ณต์กํ ์ํ ๊ด๋ฆฌ๋ฅผ ํด๋ณด์๋ค. AWS ์ด์ธ์ ํด๋ผ์ฐ๋๋ก ๋ค์ด๋ฒ ํด๋ผ์ฐ๋๋ฅผ ์ฒ์์ผ๋ก ๊ฒฝํํด๋ณด์์ผ๋, ๋ถ์์ ํ๊ณ ์์ฑ๋๊ฐ ๋จ์ด์ง๋ ๋ชจ์ต์ ๋๋ ๊ฒฝํํด๋ณด๊ณ ์ถ์ง ์์์ต๋๋ค. ์ธ์ด ๋ชจ๋ธ๊ณผ RAG ์์คํ ์ ํน์ฑ์ ์์ํ ์ดํดํด๊ฐ๊ณ ์์ต๋๋ค. ์ฑ๋ฅ์ ๋ํ ์ฌ๋๋ค์ ๋์ ๊ธฐ๋์น์๋ ์ ๋ ๋์ค๋ค์ด ์์ํ๋ ๋งํผ ์ฝ๊ฒ ๋๋ฌํ ์ ์์ด ๋ณด์ด๊ณ , ์ธ์ด ๋ชจ๋ธ ์ด์ธ์ ์ ๋ฌธ ์ง์๊ณผ ์ํํธ์จ์ด ๊ธฐ์ ์ ๋ํ ์ค์์ฑ์ ๋งค์ผ ๋๋ผ๋ฉฐ ๊ฒธ์์ ๋ฐฐ์ฐ๊ณ ์์ต๋๋ค.
์๋น์ค ๋งํฌ: https://naimy.ai/ Overview ํ๊ธ ๋ธ๋๋ ์ด๋ฆ์ ํนํ๋ ๋ธ๋๋ ์ด๋ฆ ์๋ช ์๋น์ค naimy.ai . ์๋ช ์ ์ด์ด ์๋ช ๋ ์ด๋ฆ์ ๋๋ฉ์ธ API, ํนํ์ฒญ API, ์์ ๋คํธ์ํน ์๋น์ค ํฌ๋กค๋ง ๋ฑ์ ์ธ๋ถ ์๋น์ค ์ฐ๋์ ํตํด์ ์ ์ ์ฑ์ ๋ถ์ํ ์ ์์ต๋๋ค. ํฌ๊ฒ Postgres RDS๋ฅผ ์ฌ์ฉํ๋ Lambda backend์ React frontend๋ก ์ด๋ฃจ์ด์ง ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก, ์ธ๋ถ ์๋น์ค ์ฐ๋์ ๊ณ ๋ คํ AWS ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ๊ณ ํนํ์ฒญ์ ์ ์ธํ ์ธ๋ถ ์๋น์ค ์ฐ๋ ๊ฐ๋ฐ์ ์งํํ์ต๋๋ค. ์๋ช ์ต์ ์ ํ์ง ๋ณ๊ฒฝ, Database connection pool ๋๋ฒ๊น , AWS ๊ณ์ ๋ง์ด๊ทธ๋ ์ด์ ๋ฑ ์ฌ์ดํธ ์ด์ ์ด์ ๋์ Architecture ...
Overview ๋ฅ์คํธ๋ฉ ์ ์์ ํ์์ ๊ฐ์ฅ ์ฅ๊ธฐ์ ์ผ๋ก ์งํํ ์ค์ ํ๋ก์ ํธ๋ก, CCTV ๋ฑ์ ์นด๋ฉ๋ผ์์ ํ๋ํ ๋ณดํ์์ ๋ฒํธํ ์ด๋ฏธ์ง๋ฅผ ๋์์ผ๋ก ์ถ์ and/or ๋ฒํธํ ์ธ์ ๋ชจ๋์ ์๋น์คํํ๋ ํ๋ก์ ํธ ๋ฉํ ์ฌ๋ก๋ง๋ค ๋ค์ํ ์๊ตฌ ์ฌํญ์ด ์์๋๋ฐ, ์ฃผ๋ก ํต์ฌ AI ๋ชจ๋์ ๋๋ฌ์ผ ์๋น์ค ๊ตฌ์กฐ๋ฅผ ๋น์ฆ๋์ค ๋ก์ง์ ๋ง์ถฐ ์ค๊ณํ๊ณ ๊ตฌํํ๋ ์ ๋ฌด๋ฅผ ๋งก์์ต๋๋ค. ํฌ๊ฒ ์์ฒญ์ ๋ฐ๋ผ์ task๋ฅผ ์ํํ๋ pull mode์ ์ต๋ํ ๋น ๋ฅธ ์๋๋ก task๋ฅผ ์ํํ๋ push mode์ผ๋ก ๋๋ ์ ์์ต๋๋ค. ๋ค๋ จ์ฅ ๋ฐ์ฌ๋ ๋ผ๋ ๋ณ๋ช ์ SSH tunnel์ ํตํ ๋ฐฐํฌ ๋ฐ ์ด์ ํด์ ๋ง๋ค์ด์ ์ด ํ๋ก์ ํธ์์ 2๋ ๊ฐ ์์ ์ ์ผ๋ก ์ฌ์ฉํ์ต๋๋ค. Technology ์ปจํ ์ด๋ ๋จ์๋ก ์ญํ ์ ์ง์ ํ๊ณ Stage์ GPU ํ๊ฒฝ์ ๊ณ ๋ คํ docker-compose ๊ฐ๋ฐ ๋ฐฐํฌ์ ๊ด๋ จํด์ Nvidia GPU๋ฅผ ์ปจํ ์ด๋ ๋ด๋ถ์์ ์ฌ์ฉํ๊ธฐ ์ํ ๊ณ ๋ ค ์ฌํญ๋ค์ ์๊ณ ์๊ณ ์ค๋ฌด์ ํ์ฉํด์์ต๋๋ค. (CUDA version, Container runtime, Container base image, Runtime flagsโฆ) ์ปจํ ์ด๋ ๋ณ ์ฃผ์ Failure point๋ฅผ ๊ณ ๋ คํด Health check ๊ตฌํ AI task ๊ด๋ฆฌ ๊ธฐ๋ฅ ๊ฐ๋ฐ pull mode ์์๋ tmpfs ๋๋ S3-compatable ์์ ์ ์ฅ์์ ์ต๊ทผ ์ฌ์ง๋ง์ ์ ์ฌ push mode ์์๋ ๋๊ธฐ์ด์ ์์ฒญ๋ฐ์ Task๋ค์ ์ ์ฌ ์์คํ ์ผ๋ถ๋ถ์ ๋ํ ํ ์คํธ ๋๋ ์ด์ ์ง์์ ์ํ ๋ด๋ถ์ฉ ํ๋ก ํธ์๋ ๊ตฌํ AWS CDK ๋ฅผ ์ด์ฉํด ๋ธ๋์น ๋ณ๋ก docker compose build๋ฅผ ์ํํ๋ Serverless CI ๊ฐ๋ฐ Progress ๋ฉํ ์ผ์ด์ค ๋ณ๋ก ๊ฐ๋ฐ ์ฌํญ๋ค์ ์ ๋ฆฌํ์ต๋๋ค. ...
Overview ํ๋์จ์ด ์ฐ๋๊ณผ AI ์ด๋ฌผ ๊ฒ์ฌ ๊ธฐ๋ฅ์ ํต์ฌ์ผ๋ก ํ๋ ์ํ X-Ray ์ด๋ฌผ ๊ฒ์ฌ ์์คํ ์ ๋ฉด ์ฌ๊ฐ๋ฐ ํ๋ก์ ํธ. LabView ์๋์ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ MSA๋ก ๋ณ๊ฒฝ. ํฌ๊ฒ ์ฅ๋น๋ฅผ ์ง์ ํต์ ํ๋ ํ๋์จ์ด ์คํ๊ณผ ๊ฒ์ฌ ์ํ์ ํ์ํ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ฒ์ฌ ์ด๋ ฅ์ ๊ด๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ผ๋ก ๋๋์ด ์๋น์ค๋ฅผ ์ค๊ณํ์ต๋๋ค. Technology ํ๋์จ์ด ์คํ์์๋ Redis message broker๋ฅผ ์ค์ฌ์ผ๋ก ํ๋์จ์ด ์ฐ๋ ์ ์ฉ ์ปจํ ์ด๋๋ค์ ๋ฐฐ์นํ๊ณ ํด๋น ์ปจํ ์ด๋๋ค์ ๋ํด TDD๋ฅผ ๋์ ํด ํ๋์จ์ด์ ์ํ Pain point๋ฅผ ์ค์์ต๋๋ค. X-Ray์ ๋ detector ์ปจํ ์ด๋๋ฅผ C++๋ก ๊ฐ๋ฐํ์ต๋๋ค. bmp ํ์ค์ ์ค์ํ๋ ๊น์ ๋นํธ ์ฌ๋๋ฅผ ๋ํ๋ผ ์ ์๋ ํ์์ ๊ณ ์ํ๊ณ , ๋ค๋ฅธ ์ปจํ ์ด๋๊ฐ mmap ํ๋กํ ์ฝ์ ํตํด์ ํ์ํ ์ด๋ฏธ์ง ์์ญ์overhead ์์ด ํ๋ํ ์ ์๋๋ก ํ์ต๋๋ค. ๋๋จธ์ง ํ๋์จ์ด ์ฐ๋ ์ปจํ ์ด๋์ Redis ์ธํฐํ์ด์ค ์ค๊ณ์ Node.js TypeScript ๊ฐ์ฒด ์งํฅ ์ค๊ณ๋ฅผ ์ฃผ๋ํ์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์คํ์์๋ ์๋ฌ ํธ๋ค๋ง๊ณผ Canvas๋ก ํ๋ ์ด๋ฏธ์ง๋ฅผ ์คํธ๋ฆฌ๋ฐํ๋ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ์ต๋๋ค. docker-compose services Name Language Category Features redis - Infra Event broker nginx Nginx Infra Static server, Reverse proxy, ์ด๋ฏธ์ง ์คํธ๋ฆฌ๋ฐ api Python Service CRUD, Auth, ์ด๋ฏธ์ง ์ฒ๋ฆฌ Microservice orchestrator Node Service ํ๋์จ์ด ์ํ ๋ชจ๋ํฐ๋ง ๋ฐ ํตํฉ ์กฐ์ detector C++ H/W Detector H/W ์ฐ๋, ๊ธฐ์ด์ ์ธ ์ด๋ฏธ์ง ์ฒ๋ฆฌ serial Node H/W ๊ฐ๋ณ ์๋ฆฌ์ผ H/W ์ํ ๊ด๋ฆฌ์ postgres SQL DB ์ ์ , ์๊ณ ๋ฆฌ์ฆ ํ๋ผ๋ฏธํฐ, ์ด๋ฏธ์ง ๋ชฉ๋ก ๊ด๋ฆฌ influxdb Flux DB ํ๋์จ์ด ์ฌ์ฉ ์ด๋ ฅ ๊ด๋ฆฌ s3 Node Infra mmap, ์ด๋ฏธ์ง ๋ฐ์ดํฐ ๊ด๋ฆฌ ai Python Service ์ด๋ฌผ ๊ฒ์ถ Yolo firmware C++, Python Deployment IO controller firmware uploader Lessons ์๋ง์ ์ผ๊ทผ์๋ ๋ถ๊ตฌํ๊ณ ํ๋ก์ ํธ์ ๋ชฉํ๊ฐ ๋ฌ์ฑ ๋ถ๊ฐ๋ฅํ ๋ชฉํ๋ก ์ค์ ๋ ํ์ Production์๋ ๋๋ฌํ์ง ๋ชปํ์ต๋๋ค. ์ด ๊ธ์ ํ๋ก์ ํธ์ ์์ฑ๋ณด๋ค ์ ์ปค๋ฆฌ์ด์์ ๊ฐ์ฅ ๋ณต์กํ ๋ฌธ์ ๋ฅผ MSA๋ก ์ด๋ป๊ฒ ํ๋ ค๊ณ ์๋ํ๋์ง๋ฅผ ์ค์ ์ผ๋ก ์ฝ์ด์ฃผ์๊ธธ ๋ถํ๋๋ฆฝ๋๋ค. ๊ฐ์ฒด๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ํ๋์ ์ธ C++ ๊ฐ๋ฐ์ ๊ฒฝํํ์ต๋๋ค. WebAssembly, pybind ๋ฑ์ ํตํด์ ์ผ๋ถ ๊ธฐ๋ฅ์ Nativeํ๊ฒ ๊ตฌ๋ํ๋ ๋ฐ ๊ด์ฌ์ด ์์๋๋ฐ, ์ด๋ฒ ํ๋ก์ ํธ์์ ์์ C++ ๊ฒฝํ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฏธ๋์ ์ด๋ฌํ ๊ฐ๋ฐ์ ๋งก์ ์ ์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. Redis๋ฅผ ํตํ ํ๋์จ์ด ์ถ์ํ์ ํ๋์จ์ด์ ๋ํ TDD๊ฐ ํจ๊ณผ์ ์ผ๋ก ์๋ํ์ต๋๋ค.
Download my portfolio in PDF