inspeep

[์™ธ์ „] 3. ์ˆ˜์ • ์ง€์˜ฅ์— ๋น ์ง€๋‹ค: ์™„๋ฒฝ์ฃผ์˜์˜ ํ•จ์ •๊ณผ FastAPI ํ•ต์‹ฌ ํ’€์ฝ”๋“œ ๊ฒฐ์‚ฐ

์กฐํšŒ ์ˆ˜ 96
์ถ”์ฒœ ์ˆ˜ 0
๋Œ“๊ธ€ 0

๋“ค์–ด๊ฐ€๋ฉฐ: ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€์ง€ ๋ชปํ•˜๋Š” ๋ณ‘, '์ˆ˜์ • ์ง€์˜ฅ'


์ง€๋‚œ๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ํŒŒ์ด์ฌ <code>Pillow</code> ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด ๋ฌด๊ฑฐ์šด ์ด๋ฏธ์ง€ ํŒŒ์ผ๋“ค์„ ๊ฐ€๋ฒผ์šด <code>WebP</code> ํฌ๋งท์œผ๋กœ ์••์ถ•ํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ตฌ์„ ๋…ธํŠธ๋ถ ์„œ๋ฒ„์˜ 500GB ํ•˜๋“œ๋””์Šคํฌ ์šฉ๋Ÿ‰ ๋ฌธ์ œ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํ•ด๊ฒฐํ•˜๊ณ  ๋‚˜๋‹ˆ, ์ด์ œ ์ •๋ง ํ™€๊ฐ€๋ถ„ํ•œ ๋งˆ์Œ์œผ๋กœ ๋‹ค์Œ ๊ธฐ๋Šฅ(๊ฒŒ์‹œ๊ธ€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด๋‚˜ ํ•ด์‹œํƒœ๊ทธ) ๊ฐœ๋ฐœ๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์„ ์ค„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ œ ์—๋””ํ„ฐ(VS Code) ํ™”๋ฉด์€ ๋ฉฐ์น ์งธ ์ œ์ž๋ฆฌ์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅธ๋ฐ” ๋ชจ๋“  ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•œ ๋ฒˆ์ฏค ๊ฒช๋Š”๋‹ค๋Š” ๋”์ฐํ•œ ๋ถˆ์น˜๋ณ‘, **'์ˆ˜์ • ์ง€์˜ฅ(Refactoring Hell)'**์— ๋น ์ ธ๋ฒ„๋ฆฐ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

"์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ์ง€์ €๋ถ„ํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ?", "์ด ํ•จ์ˆ˜๋ฅผ ์ € ํ•จ์ˆ˜๋ž‘ ํ•ฉ์น˜๋ฉด ๋” ์˜ˆ์˜์ง€ ์•Š์„๊นŒ?", "๋ณ€์ˆ˜ ์ด๋ฆ„์ด ์ง๊ด€์ ์ด์ง€ ์•Š์€๋ฐ ์‹น ๋‹ค ๋ฐ”๊ฟ”๋ณผ๊นŒ?"

๊ธฐ๋Šฅ์€ ์ด๋ฏธ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๊ณ  ์žˆ๋Š”๋ฐ๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ œ ๋ˆˆ์—๋Š” ๋Š์ž„์—†์ด ๊ณ ์น˜๊ณ  ๋‹ค๋“ฌ์–ด์•ผ ํ•  ๋ถ€๋ถ„๋“ค๋งŒ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๋์—†๋Š” ์ˆ˜์ •ํ‘œ๋ฅผ ๋“ค๊ณ  ์ฝ”๋“œ๋ฅผ ์ด๋ฆฌ์ €๋ฆฌ ์˜ฎ๊ธฐ๋‹ค ๋ณด๋‹ˆ ์ •์ž‘ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์€ ์ง„์ฒ™์ด ์ œ๋กœ(0)์— ์ˆ˜๋ ดํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์™„๋ฒฝ์ฃผ์˜๊ฐ€ ๋ถ€๋ฅธ ๋Œ€์ฐธ์‚ฌ์˜€์ฃ .




1. ๋ฉˆ์ถฐ ์„œ์„œ ๋’ค๋ฅผ ๋Œ์•„๋ณด๋‹ค: ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ๊ธฐ์ ๋“ค



์ด ์ˆ˜์ • ์ง€์˜ฅ์—์„œ ๋น ์ ธ๋‚˜์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š”, ์—ญ์„ค์ ์ด๊ฒŒ๋„ ์ž ์‹œ ํ‚ค๋ณด๋“œ์—์„œ ์†์„ ๋–ผ๊ณ  ์ œ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“ค์–ด์˜จ ๊ฒฐ๊ณผ๋ฌผ๋“ค์„ ๊ฐ๊ด€์ ์œผ๋กœ ๋˜๋Œ์•„๋ณผ ํ•„์š”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋กœ์ŠคํŠธ์•„ํฌ ๊ณจ๋“œ 40๋งŒ ์›์œผ๋กœ ์‹œ์ž‘๋œ ์ด ๋ฌด๋ชจํ•œ ํ”„๋กœ์ ํŠธ๋Š” ์–ด๋А์ƒˆ ๊ฑฐ๋Œ€ํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

<ul><li>

๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ Render ํด๋ผ์šฐ๋“œ ๋ฐฑ์—… ์—ฐ๋™

</li><li>

์ ‘์† ๊ธฐ๊ธฐ์— ๋งž์ถฐ ๋ณ€ํ•˜๋Š” ๋ฐ˜์‘ํ˜• ์›น์ง„ ์ธ๋„ค์ผ ๊ฒŒ์‹œํŒ * ํŠธ๋ž˜ํ”ฝ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ง‰๋Š” ํŽ˜์ด์ง€๋„ค์ด์…˜(Pagination)

</li><li>

30์ผ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ๋žญํ‚น(๋ช…์˜ˆ์˜ ์ „๋‹น) ์•Œ๊ณ ๋ฆฌ์ฆ˜

</li><li>

OpenCV๋ฅผ ํ™œ์šฉํ•œ ๋™์˜์ƒ ์ฒซ ํ”„๋ ˆ์ž„ ์ธ๋„ค์ผ ์ž๋™ ์ถ”์ถœ

</li><li>

์•…์„ฑ ๋„๋ฐฐ๋ฅผ ๋ง‰๋Š” SlowAPI ๊ธฐ๋ฐ˜ ๋Œ“๊ธ€ ์†๋„ ์ œํ•œ(Rate Limit)

</li><li>

๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ ์šฉํ•œ Pillow ํ™œ์šฉ WebP ์ด๋ฏธ์ง€ 90% ์••์ถ•๊นŒ์ง€.

</li></ul>

๋ถˆ๊ณผ ํ•œ๋‘ ๋‹ฌ ์ „๋งŒ ํ•ด๋„ ๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์˜ ๊นŒ๋งŒ ํ™”๋ฉด์„ ๋ณด๋ฉฐ ์‹์€๋•€์„ ํ˜๋ฆฌ๋˜ ์ œ๊ฐ€, ๋ฐฑ์—”๋“œ์™€ ํ”„๋ก ํŠธ์—”๋“œ, ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„ ์ธํ”„๋ผ๋ฅผ ์•„์šฐ๋ฅด๋Š” ์ด ์ˆ˜๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ์†์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ์กฐ๊ธˆ ๋ชป์ƒ๊ฒผ์œผ๋ฉด ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ์ด ์ˆ˜๋งŽ์€ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋“ค์ด ๋งž๋ฌผ๋ ค ํ•˜๋‚˜์˜ ์›น์‚ฌ์ดํŠธ(<code>inspeep.com</code>)๋กœ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค ์ž์ฒด๊ฐ€ ์ด๋ฏธ ๊ธฐ์ ์ธ ๊ฒƒ์„์š”.




2. ํฉ์–ด์ง„ ์ฝ”๋“œ๋“ค์„ ํ•˜๋‚˜๋กœ: ๋ฐฑ์—”๋“œ ํ•ต์‹ฌ ๋กœ์ง ํ’€์ฝ”๋“œ ์ •๋ฆฌ



์ˆ˜์ • ์ง€์˜ฅ์˜ ๊ตด๋ ˆ๋ฅผ ๋Š์–ด๋‚ด๊ธฐ ์œ„ํ•œ ๋งˆ์ง€๋ง‰ ์˜์‹์œผ๋กœ, ๊ทธ๋™์•ˆ ๋•์ง€๋•์ง€ ๊ธฐ์›Œ ๋ถ™์˜€๋˜ ๋ฐฑ์—”๋“œ ๊ฒŒ์‹œ๊ธ€ ์—…๋กœ๋“œ ์ฝ”๋“œ๋ฅผ ๋‹จ์ •ํ•˜๊ฒŒ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉํ•˜์—ฌ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.



๋งˆ์น˜๋ฉฐ: ์™„๋ฒฝํ•จ๋ณด๋‹ค๋Š” '์™„์„ฑ'์„ ํ–ฅํ•ด



์œ„์˜ ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด๋‚ด๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ ์ˆœ๊ฐ„, ๋น„๋กœ์†Œ ๊ฐ•๋ฐ•์ฒ˜๋Ÿผ ์ €๋ฅผ ์ง“๋ˆ„๋ฅด๋˜ ์ˆ˜์ • ์ง€์˜ฅ์—์„œ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฉ์–ธ ์ค‘์— **"Done is better than perfect(์™„๋ฒฝํ•œ ๊ฒƒ๋ณด๋‹ค ์ผ๋‹จ ์™„์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋‚ซ๋‹ค)"**๋ผ๋Š” ๋ง์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์—…์˜ ๋›ฐ์–ด๋‚œ ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋“ค๋„ ๊ณผ๊ฑฐ์˜ ์ž๊ธฐ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ๋ถ€๋„๋Ÿฌ์›Œ ์ด๋ถˆ์„ ์ฐฌ๋‹ค๊ณ  ํ•˜์ฃ . ์ฝ”๋“œ๋Š” ์–ธ์ œ๋‚˜ ๊ฐœ์„ ์˜ ์—ฌ์ง€๊ฐ€ ์žˆ๋Š” ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์˜ ์ฝ”๋“œ์— ์–ฝ๋งค์—ฌ ๋ฉˆ์ถฐ์žˆ๊ธฐ๋ณด๋‹ค๋Š”, ์•ฝ๊ฐ„์˜ ์•„์‰ฌ์›€์„ ์•ˆ๊ณ ์„œ๋ผ๋„ ์œ ์ €๋“ค์—๊ฒŒ ์ƒˆ๋กœ์šด ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€์•ผ ํ•  ๋•Œ์ž…๋‹ˆ๋‹ค.

๊ธด ์™ธ๋„๋ฅผ ๋งˆ์ณค์œผ๋‹ˆ, ๋‹ค์Œ 17ํŽธ์—์„œ๋Š” ์ •๋ง๋กœ ๋ฏธ๋ค„๋‘์—ˆ๋˜ ์ˆ™์› ์‚ฌ์—…! ์ˆ˜๋งŽ์€ ๊ฒŒ์‹œ๋ฌผ ์†์—์„œ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ธ€๋งŒ ๊ท€์‹ ๊ฐ™์ด ์ฐพ์•„๋‚ด๋Š” '๊ฒŒ์‹œํŒ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ(Search)' ๊ฐœ๋ฐœ๊ธฐ๋กœ ํž˜์ฐจ๊ฒŒ ๋Œ์•„์˜ค๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Œ€ํ•ด ์ฃผ์„ธ์š”!

๐Ÿ’ฌ ๋Œ“๊ธ€ 0๊ฐœ

IT ๊ฒŒ์‹œํŒ

๊ณต์ง€
Notice
๊ณต์ง€ inspeep ์ปค๋ฎค๋‹ˆํ‹ฐ ์ด์šฉ ๋ฐ ๊ฒŒ์‹œ๋ฌผ ๊ด€๋ฆฌ ๊ทœ์ • ์•ˆ๋‚ด
๐Ÿ‘ค ๊ด€๋ฆฌ์ž ๐Ÿ“… 2026.04.15 ๐Ÿ‘€ ์กฐํšŒ 57 ๐Ÿ‘ ์ถ”์ฒœ 0
BEST
์ธ๋„ค์ผ
BEST 2. ์ฝ”๋”ฉ ๋ฌธ์™ธํ•œ์˜ ์›Œ๋“œํ”„๋ ˆ์Šค ์ •๋ณต๊ธฐ: VS Code์™€ FTP์˜ ์Šต๊ฒฉ
๐Ÿ‘ค ๊ด€๋ฆฌ์ž ๐Ÿ“… 2026.03.05 ๐Ÿ‘€ ์กฐํšŒ 135 ๐Ÿ‘ ์ถ”์ฒœ 0
Random Pick
์ธ๋„ค์ผ
Random Pick ํ•€๋ž€๋“œ ๊ตฐ์ธ ์žฅ๊ต๊ฐ€ ๊ฒŒ์ž„์„ ๊ฐœ๋ฐœํ•ด์„œ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฌผ
๐Ÿ‘ค ๋กœ๋ฃจ๋””๋‹ค ๐Ÿ“… 2026.10.01 ๐Ÿ‘€ ์กฐํšŒ 4 ๐Ÿ‘ ์ถ”์ฒœ 0
๊ฐœ๋ฐœ
์ธ๋„ค์ผ
๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ (์›€์งค ๋‹ค์ˆ˜) 1๋‹ฌ๊ฐ„์˜ ๊ฐœ๋ฐœ ์ผ์ง€
๐Ÿ‘ค Cyan ๐Ÿ“… 2026.06.27 ๐Ÿ‘€ ์กฐํšŒ 17 ๐Ÿ‘ ์ถ”์ฒœ 0
๊ฐœ๋ฐœ
์ธ๋„ค์ผ
์‚ฌ์ด๋‹ค ๊ฐ™์€ ๋ž˜ํ† ํ”ผ์•„ ๊ฐœ๋ฐœ์ผ์ง€ #38 - ๊ด€๊ด‘ ์‹œ์Šคํ…œ
๐Ÿ‘ค ๋””๋ก ๐Ÿ“… 2026.06.27 ๐Ÿ‘€ ์กฐํšŒ 20 ๐Ÿ‘ ์ถ”์ฒœ 0
๊ฐœ๋ฐœ
์ธ๋„ค์ผ
์ž์œ 
No Image
FastAPI์™€ Redis๋ฅผ ํ™œ์šฉํ•œ 1์ธ ๊ฐœ๋ฐœ์ž์˜ ๋ฐฑ์—”๋“œ ์ตœ์ ํ™” ์—ฌ์ •
๐Ÿ‘ค ์ธ์Šคํ”ผ ๐Ÿ“… 2026.06.17 ๐Ÿ‘€ ์กฐํšŒ 12 ๐Ÿ‘ ์ถ”์ฒœ 0
๊ฐœ๋ฐœ
์ธ๋„ค์ผ
๊ทน๊ฐ•์˜ ์‹ฑ๊ธ€๋ฒ™๊ธ€ ๊ตญ๋‚ด ๊ฒŒ์ž„๊ฐœ๋ฐœ์ž์˜ ๋ฏธ๋ž˜ ์˜ˆ์–ธ๊ธ€
๐Ÿ‘ค ์•ผ๋ฆฌํƒ€ ๐Ÿ“… 2026.06.15 ๐Ÿ‘€ ์กฐํšŒ 10 ๐Ÿ‘ ์ถ”์ฒœ 0
๋‰ด์Šค
์ธ๋„ค์ผ
์œ ๋ถ€๋‚จ ์ปดํ“จํ„ฐ ๋งŒ๋“ค๊ธฐ (์Šค์••)
๐Ÿ‘ค ๋ฆฌํ† ํƒ€ ๐Ÿ“… 2026.06.13 ๐Ÿ‘€ ์กฐํšŒ 13 ๐Ÿ‘ ์ถ”์ฒœ 0
๋‰ด์Šค
์ธ๋„ค์ผ
ํŒ์ฝ˜๊ฐ ์ปดํ“จํ„ฐ ์ผ€์ด์Šค ๋ชจ๋”ฉ ๋Œ€ํšŒ ์ถœํ’ˆ์ž‘
๐Ÿ‘ค Cyan ๐Ÿ“… 2026.06.10 ๐Ÿ‘€ ์กฐํšŒ 11 ๐Ÿ‘ ์ถ”์ฒœ 0
์ผ๋ฐ˜
์ธ๋„ค์ผ
์šด ์ข‹๊ฒŒ๋„ ์ƒ์ƒ์ดˆ์›” ์• ํ”Œ WWDC26 ์š”์•ฝ (1)~(4) - Platform Improvments
๐Ÿ‘ค Cyan ๐Ÿ“… 2026.06.09 ๐Ÿ‘€ ์กฐํšŒ 20 ๐Ÿ‘ ์ถ”์ฒœ 0
๊ฐœ๋ฐœ
์ธ๋„ค์ผ
๊ฐœ๋ฐœ
์ธ๋„ค์ผ
๋ˆˆ๋ถ€์‹  ๋ž˜ํ† ์นผ๋ฆฝ์Šค ๊ฐœ๋ฐœ์ผ์ง€ #9 - PlayX4 ์ „์‹œํ›„๊ธฐ
๐Ÿ‘ค ์•ผ๋ฆฌํƒ€ ๐Ÿ“… 2026.06.05 ๐Ÿ‘€ ์กฐํšŒ 11 ๐Ÿ‘ ์ถ”์ฒœ 0
๊ฐœ๋ฐœ
์ธ๋„ค์ผ
๊ณ ๊ตฌ๋งˆ ๋จน์€ ๋””์ง€ํƒญ ์–ธ์˜คํ”„ ๊ทธ ๊ฐœ๋ฐœ ๋น„ํ™” *์Šค์••์ฃผ์˜
๐Ÿ‘ค ๋ฆฌํ† ํƒ€ ๐Ÿ“… 2026.05.31 ๐Ÿ‘€ ์กฐํšŒ 8 ๐Ÿ‘ ์ถ”์ฒœ 0
๊ฐœ๋ฐœ
์ธ๋„ค์ผ
๋‡Œ๋นผ๊ณ  ์—ญ๋Œ€๊ธ‰ 5์›” ๊ฐœ๋ฐœ ์ผ์ง€ ๋ฐ ํ–ฅํ›„ ์ฝ˜ํ…์ธ  ์†Œ๊ฐœ
๐Ÿ‘ค ํ“จ๋ฉ”์ด์ฃ ์ด ๐Ÿ“… 2026.05.30 ๐Ÿ‘€ ์กฐํšŒ 13 ๐Ÿ‘ ์ถ”์ฒœ 0
« ์ฒ˜์Œ ‹ ์ด์ „ 1 2 3 4 5 6 7 ๋‹ค์Œ › ๋ »
โœ๏ธ ๊ธ€์“ฐ๊ธฐ