Skip to content
View bitedogo's full-sized avatar
๐Ÿฅ
๐Ÿฅ
  • Induk University
  • Seoul, South Korea

Block or report bitedogo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
bitedogo/README.md

๐Ÿ‘‹ Hi, I'm bitedogo

Full Stack Developer Based in Seoul

์•„์ด๋””์–ด๋ฅผ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ˜„์‹ค๋กœ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณผ์ •์— ๋ชฐ์ž…ํ•ฉ๋‹ˆ๋‹ค. ํ™•์žฅ์„ฑ ์žˆ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์•ˆ์ •์ ์ธ ๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

GitHub ย ยทย  Email ย ยทย  Instagram


๐Ÿš€ About Me

  • ๐Ÿ“ Location: ๋Œ€ํ•œ๋ฏผ๊ตญ ์„œ์šธ
  • ๐Ÿ’ป Languages: JavaScript, TypeScript, Java, Dart
  • ๐ŸŽฏ Focus: RESTful/Hybrid API ์„ค๊ณ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ตœ์ ํ™”, ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™” ์„œ๋น„์Šค ๊ตฌํ˜„

๐Ÿ› ๏ธ Technology Stack

Languages & Frontend

TypeScriptย ย  JavaScriptย ย  Javaย ย  Dart ย ย ยทย ย  Next.jsย ย  Reactย ย  Vue.jsย ย  Tailwind CSS

Backend & Database

Spring Bootย ย  Node.js ย ย ยทย ย  Supabaseย ย  PostgreSQLย ย  Oracleย ย  AWS S3

Tools

Gitย ย  GitHubย ย  Vercelย ย  Figmaย ย  IntelliJ IDEAย ย  VS Code


๐ŸŽฏ Featured Projects

๐Ÿ’ฟ ORU (์˜ค๋ฃจ) โ€” ์Œ์•… ๋ฆฌ๋ทฐ ๋ฐ ์†Œํ†ต ํ”Œ๋žซํผ

์•จ๋ฒ” ๋‹จ์œ„ ํ‰์  ๊ธฐ๋ก ๋ฐ ์Œ์•… ๋ฆฌ์Šค๋„ˆ ๊ฐ„์˜ ์ทจํ–ฅ ๊ต๊ฐ์„ ์ œ๊ณตํ•˜๋Š” ํ’€์Šคํƒ ์›น ์„œ๋น„์Šค

  • ๊ธฐ๊ฐ„: 2025.10 ~ ํ˜„์žฌ (์ง„ํ–‰ ์ค‘)
  • ๊ธฐ์—ฌ: 3์ธ ํŒ€ (๋ณธ์ธ ๊ธฐ์—ฌ๋„: ๊ธฐํš ๋ฐ ์•„์ด๋””์–ด ๋ฐœ์ œ 100%, ๊ฐœ๋ฐœ 50%, DB ์„ค๊ณ„ 30%)
  • ๊ธฐ์ˆ : Next.js ย ย  TypeScript ย ย  Supabase ย ย  PostgreSQL ย ย  Vercel
  • ๋งํฌ: Official Website ย ยทย  GitHub Repository

๐Ÿ’ก ๊ธฐํš ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ‘œ

  • ์ง„ํ–‰ ๋ฐฐ๊ฒฝ (100% ๋…์ž ๊ธฐํš): 'RateYourMusic'์ด๋‚˜ 'Pitchfork' ๋“ฑ ํ•ด์™ธ์—๋Š” ํ™œ์„ฑํ™”๋œ ์•„์นด์ด๋ธŒ ์ค‘์‹ฌ์˜ ์Œ์•… ํ‰๋ก  ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์กด์žฌํ•˜๋‚˜, ๊ตญ๋‚ด์—๋Š” ๋Œ€์ค‘์Œ์•… ๋ฆฌ์Šค๋„ˆ๋“ค์ด ์ž์œ ๋กญ๊ฒŒ ์•จ๋ฒ” ๋‹จ์œ„๋กœ ์‹ฌ๋„ ๊นŠ์€ ๋ฆฌ๋ทฐ๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๋Œ€์ค‘์ ์ธ ํ”Œ๋žซํผ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ์ ์— ์ง์ ‘ ์ฃผ๋ชฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‰์†Œ ๊ตญ๋‚ด ๋Œ€์ค‘์Œ์•… ์”ฌ์˜ ์ „๋ฌธ ํ‰๋ก  ๋งค์ฒด๋“ค์˜ ํ™œ์„ฑ๋„๊ฐ€ ์ ์ฐจ ๋‚ฎ์•„์ง€๋Š” ํ˜„์ƒ์— ์•„์‰ฌ์›€์„ ๋А๊ปด, ๋ฆฌ์Šค๋„ˆ ์ค‘์‹ฌ์˜ ์ƒˆ๋กœ์šด ๋†€์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ: ๊ตญ๋‚ด ๋Œ€์ค‘์Œ์•… ๋ฆฌ์Šค๋„ˆ๋“ค์˜ ์‹ค์ œ ๋ชฉ์†Œ๋ฆฌ์™€ ๋‹ˆ์ฆˆ๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ, ์ง๊ด€์ ์ด๊ณ  ๋น ๋ฅธ ํƒ์ƒ‰ ํ™˜๊ฒฝ์„ ๋ณด์žฅํ•˜๊ณ  ์œ ์ €๋“ค์ด ์ž์œ ๋กญ๊ฒŒ ํ‰์ ์„ ๋‚จ๊ธฐ๋ฉฐ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” **'์‚ฌ์šฉ์ž ์ฐธ์—ฌํ˜• ๊ตญ๋‚ด No.1 ์Œ์•… ์•„์นด์ด๋ธŒ&๋ฆฌ๋ทฐ ์„œ๋น„์Šค'**๋ฅผ ์ง์ ‘ ์ œ์•ˆํ•˜๊ณ  ์„ค๊ณ„๋ฅผ ๋ฆฌ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ๊ธฐ์ˆ  ๋ฐ ์•„ํ‚คํ…์ฒ˜ ๋„์ž… ๋ฐฐ๊ฒฝ

  • Next.js (App Router): ๋ฆฌ๋ทฐ ๊ฒŒ์‹œ๊ธ€์˜ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)๋ฅผ ํ™•๋ณดํ•˜๊ณ , ๋‹ค์ˆ˜์˜ ์™ธ๋ถ€ ์Œ์› API๋ฅผ ์„œ๋ฒ„์‚ฌ์ด๋“œ์—์„œ ๋ณ‘๋ ฌ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ๋ Œ๋”๋ง ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Supabase & PostgreSQL: ์‹ค์‹œ๊ฐ„์œผ๋กœ ์œ ์ €์˜ ํ‰์ ๊ณผ ํ”ผ๋“œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ํŠน์„ฑ์ƒ, Realtime Subscription ๊ธฐ๋Šฅ๊ณผ ๊ฐ•๋ ฅํ•œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ•จ๊ป˜ ํ™œ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘จโ€๐Ÿ’ป ์—ญํ•  ๋ฐ ๊ธฐ์—ฌ๋„ (My Role & Contributions)

  • ๊ธฐํš ๋ฐ ์ „์ฒด ์•„์ด๋””์–ด ๋ฆฌ๋“œ (100%): ์„œ๋น„์Šค ๋„๋ฉ”์ธ ์ •์˜, ํƒ€๊ฒŸ ์œ ์ € ๋ถ„์„, ์œ ์ € ์ €๋‹ˆ(Journey) ์„ค๊ณ„ ๋ฐ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ •์˜์„œ ๋“ฑ ๊ธฐํš์˜ A๋ถ€ํ„ฐ Z๊นŒ์ง€ ๋…์ž์ ์œผ๋กœ ์„ค๊ณ„ ๋ฐ ์ฃผ๋„
  • ํ•ต์‹ฌ API ๋ฐ DB ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„: Next.js์™€ Supabase๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Œ์•… ๋ฐ์ดํ„ฐ ํƒ์ƒ‰ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ๋ฆฌ๋ทฐ ์ƒ์„ฑ/์กฐํšŒ/์ˆ˜์ •/์‚ญ์ œ(CRUD) ์ „๋ฐ˜์— ๊ฑธ์นœ API ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ „๋‹ด ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌํ˜„: ์œ ์ €๋“ค์ด ๋งค๊ธด ํ‰์ ๊ณผ ํ”ผ๋“œ ๋ฐ˜์‘์„ ์ง€์—ฐ ์—†์ด ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด, Supabase ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•ด ํ†ต๊ณ„ ํ…Œ์ด๋ธ”์„ ๊ฐฑ์‹ ํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ํŒŒ์ดํ”„๋ผ์ธ ๋กœ์ง์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ˆ ๊ฒฐ๊ณผ ๋ฐ ์„ฑ๊ณผ

  • ์•„์ด๋””์–ด ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ์™„์ „ ์ƒ์šฉํ™”: ์•„์ด๋””์–ด ๋นŒ๋”ฉ๋ถ€ํ„ฐ ๋„๋ฉ”์ธ ํ™•๋ณด, ์‹ค์ œ ๋ฐฐํฌ ๋ฐ ์šด์˜ ๋‹จ๊ณ„๊นŒ์ง€ ์›์Šคํ†ฑ์œผ๋กœ ๋ฆฌ๋“œ
  • ์Œ์•… ํƒ์ƒ‰ ์ธํ„ฐํŽ˜์ด์Šค ๋…ธ์ถœ ์†๋„ ์•ฝ 58% ๊ฐœ์„ : ์™ธ๋ถ€ ์Œ์› API ์กฐํšŒ ๋ฐ ๋ฐ์ดํ„ฐ ํฌ๋งท ๊ฐ€๊ณต ์‹œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋„์ž…์„ ํ†ตํ•ด ์‘๋‹ต ์ง€์—ฐ ์ตœ์†Œํ™”
  • ์–ด๋ทฐ์ง• ์กฐํšŒ์ˆ˜ ์กฐ์ž‘ 0% ๋‹ฌ์„ฑ: ๊ณ ์œ  ํ‚ค ์บ์‹ฑ ๊ฒ€์ฆ ๋„์ž…์œผ๋กœ ๋ถ€์ • ํ–‰์œ„ ์›์ฒœ ์ฐจ๋‹จ ๋ฐ ๋ถˆํ•„์š”ํ•œ ํŠธ๋ž˜ํ”ฝ ๋‚ญ๋น„ ์ตœ์†Œํ™”
  • ๊ฒ€์ƒ‰ ์—”์ง„(SEO) ๋…ธ์ถœ ์ตœ์ ํ™”: Next.js Server Components ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋น™ํ•˜์—ฌ ๊ฒ€์ƒ‰ ์—”์ง„ ์ ‘๊ทผ์„ฑ ํ™•๋ณด

๐Ÿ”ฅ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)
์ด์Šˆ ๋ฌธ์ œ ์ƒํ™ฉ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ ๊ฒฐ๊ณผ
์–ด๋ทฐ์ง• ๋ฐฉ์–ด ๋ฌด๋ถ„๋ณ„ํ•œ ์ƒˆ๋กœ๊ณ ์นจ ๋ฐ ๋งคํฌ๋กœ๋ฅผ ํ†ตํ•œ ์กฐํšŒ์ˆ˜ ์กฐ์ž‘ ๊ณ ์œ  ํ‚ค(IP+ID+๊ฒŒ์‹œ๊ธ€) ์ƒ์„ฑ ๋ฐ ๋ถ„์‚ฐ ์บ์‹œ(TTL 24์‹œ๊ฐ„) ๊ฒ€์ฆ ์กฐ์ž‘ 0% ๋‹ฌ์„ฑ ๋ฐ ๋ถ€์ ์ ˆํ•œ ์“ฐ๊ธฐ ์ฟผ๋ฆฌ ๊ธ‰๊ฐ
API ๋ณ‘๋ชฉ ๊ฐœ์„  ์™ธ๋ถ€ ์Œ์› API ์ˆœ์ฐจ ์กฐํšŒ๋กœ ์ธํ•œ ๋ Œ๋”๋ง ์ง€์—ฐ Promise.all ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ ์ •๊ทœํ™” ๋ฐ ์บ์‹ฑ ๋„์ž… ๋ฒ„ํŠผ ๋…ธ์ถœ ์†๋„ ๋Œ€ํญ ๊ฐœ์„  ๋ฐ ๋„คํŠธ์›Œํฌ ๋น„์šฉ ์ ˆ๊ฐ

๐Ÿฑ ์ž๋ฐ”๋ƒฅ (JavaNyang) โ€” ์˜จ๋ผ์ธ ์ž๋ฐ” ํ€ด์ฆˆ ํ”Œ๋žซํผ

๊ธฐ์ดˆ ๋ฌธ๋ฒ•๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ๊ฐœ๋…๊นŒ์ง€ ํ•œ ์†์œผ๋กœ ์ฆ๊ธฐ๋Š” ์›น/๋ชจ๋ฐ”์ผ ๋ฐ˜์‘ํ˜• ์ž๋ฐ” ํ”„๋กœํ•„ ํ•™์Šต ํ”Œ๋žซํผ

  • ๊ธฐ๊ฐ„: 2025.05 ~ 2025.07
  • ๊ธฐ์—ฌ: 6์ธ ํŒ€ (Team Leader / ๋ณธ์ธ ๊ธฐ์—ฌ๋„: DB ์„ค๊ณ„ 40%, ๊ฐœ๋ฐœ 20%)
  • ๊ธฐ์ˆ : React ย ย  Next.js ย ย  Supabase ย ย  PostgreSQL ย ย  Vite
  • ๋งํฌ: Service Link ย ยทย  GitHub Repository

๐Ÿ’ก ๊ธฐํš ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ‘œ

  • ์ง„ํ–‰ ๋ฐฐ๊ฒฝ: ์ „ํ†ต์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ ํ•™์Šต ๋ฐฉ์‹(์ฑ…, ๋‹จ๋ฐฉํ–ฅ ์ธ๊ฐ• ๋“ฑ)์€ ๋น„์ „๊ณต์ž๋‚˜ ์ดˆ๊ธ‰ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ค‘๋„ ํฌ๊ธฐํ•˜๊ธฐ ์‰ฌ์šด ์ง€๋ฃจํ•œ ๊ณผ์ •์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ: ์ž๋ฐ”(Java) ์–ธ์–ด ํ•™์Šต์— ํฅ๋ฏธ๋ฅผ ์žƒ์ง€ ์•Š๋„๋ก ํ€ด์ฆˆ ํ˜•ํƒœ์˜ '๊ฒŒ์ด๋ฏธํ”ผ์ผ€์ด์…˜(Gamification)' ์š”์†Œ๋ฅผ ๊ฒฐํ•ฉํ•˜๊ณ , ์‹ค์‹œ๊ฐ„ ๊ฒฝ์Ÿ/์„ฑ์žฅ ์ž๊ทน ์š”์†Œ๋ฅผ ๋”ํ•ด ํ•™์Šต ์ง€์†์„ฑ์„ ๋†’์ด๋Š” ์•ฑ ์Šคํƒ€์ผ์˜ ๋ฐ˜์‘ํ˜• ์›น ํ”Œ๋žซํผ์„ ๋ชฉํ‘œ๋กœ ๊ธฐํšํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ๊ธฐ์ˆ  ๋ฐ ์•„ํ‚คํ…์ฒ˜ ๋„์ž… ๋ฐฐ๊ฒฝ

  • React: ํ€ด์ฆˆ ์ง„ํ–‰ ๋ฐ ๋Œ€์ „ ์ค‘ ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก SPA(Single Page Application) ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ์•ฑ๊ณผ ๊ฐ™์€ ๋ถ€๋“œ๋Ÿฌ์šด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์„ ์ œ๊ณตํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Supabase Realtime: ๋ณ„๋„์˜ ๋ณต์žกํ•œ WebSocket ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๋Š” ๋Œ€์‹ , BaaS์˜ ์‹ค์‹œ๊ฐ„ ์ฑ„๋„ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์ €์ง€์—ฐ(Low-latency) 1:1 ๋งค์นญ๊ณผ ์–‘๋ฐฉํ–ฅ ๋ผ์ด๋ธŒ ์ฑ„ํŒ…์„ ์‹ ์†ํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘จโ€๐Ÿ’ป ์—ญํ•  ๋ฐ ๊ธฐ์—ฌ๋„ (My Role & Contributions)

  • ํŒ€ ๋ฆฌ๋”ฉ ๋ฐ PM: 6์ธ ๊ทœ๋ชจ ํŒ€์˜ ์ด๊ด„ ํŒ€์žฅ์œผ๋กœ์„œ ์• ์ž์ผ ๋ฐฉ์‹์˜ ์Šคํ”„๋ฆฐํŠธ ์ผ์ •์„ ๋ฆฌ๋“œํ•˜๊ณ  ๊ธฐ์ˆ  ์Šคํƒ ์กฐ์œจ, ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(PostgreSQL) ์Šคํ‚ค๋งˆ ์ „๋ฐ˜ ์„ค๊ณ„๋ฅผ ์ด๊ด„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„ ํ†ต์‹  ์—”์ง„ ๊ฐœ๋ฐœ: Supabase Realtime ์ฑ„๋„์„ ํ™œ์šฉํ•ด 1:1 ๋Œ€์ „ ๋งค์นญ ๋Œ€๊ธฐ์—ด(Queue) ๊ด€๋ฆฌ์™€ ๊ฒŒ์ž„ ๋ฃธ ์ƒ์„ฑ, ์–‘๋ฐฉํ–ฅ ๋ผ์ด๋ธŒ ์ธ๊ฒŒ์ž„ ์ฑ„ํŒ…์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๐Ÿ’ก ์ฃผ๋„ํ•œ ํ•ต์‹ฌ ์•„์ด๋””์–ด (๊ฒŒ์ด๋ฏธํ”ผ์ผ€์ด์…˜ ์—”์ง„ ์„ค๊ณ„): ๋‹จ์ˆœ ํ€ด์ฆˆ ํ’€์ด๋ฅผ ๋„˜์–ด ์œ ์ €๊ฐ€ ์ž”์กดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‚œ์ด๋„๋ณ„ ๊ฐ€์ค‘์น˜๊ฐ€ ์ ์šฉ๋œ ๊ฒฝํ—˜์น˜ ์‚ฐ์ • ๊ณต์‹ ๋ฐ ์‹ค์‹œ๊ฐ„ ๋ฑƒ์ง€/์—…์  ์‹œ์Šคํ…œ ์„ค๊ณ„๋ฅผ ์ฃผ๋„ํ•˜์—ฌ ์žฌ๋ฏธ์™€ ๋ณด์ƒ์ด๋ผ๋Š” ์‹ฌ๋ฆฌ์  ์š”์†Œ๋ฅผ ๊ธฐ์ˆ ์ ์œผ๋กœ ์ •๊ตํ•˜๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ˆ ๊ฒฐ๊ณผ ๋ฐ ์„ฑ๊ณผ

  • ๋™์‹œ ์ ‘์† ํ™˜๊ฒฝ์—์„œ์˜ ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™” ์˜ค์ฐจ์œจ ๋Œ€ํญ ์™„ํ™”: ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ… ์ฃผ๊ธฐ์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ฒฝ๋Ÿ‰ํ™”๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ํŽ˜์ด๋กœ๋“œ ๊ฐ์†Œ
  • ํ€ด์ฆˆ ์ดํƒˆ์œจ ์ œ์–ด: ์ฆ‰๊ฐ์ ์ธ ๋ฆฌ์•ก์…˜ ํ”ผ๋“œ๋ฐฑ๊ณผ ์‹ค์‹œ๊ฐ„ ๋žญํ‚น ๋ณ€๋™์„ ํ†ตํ•ด ์žฌ๋ฏธ ์ค‘์‹ฌ์˜ ์‚ฌ์šฉ์ž ํ๋ฆ„(Flow) ์œ ์ง€
  • 6์ธ ํ”„๋กœ์ ํŠธ์˜ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์ฆˆ ์ดํ–‰: ์ผ์ • ๊ด€๋ฆฌ ๊ฐ€์‹œํ™” ๋ฐ ๋ช…์„ธ์„œ ์ผ์น˜ ์ž‘์—…์„ ํ†ตํ•ด ์ผ์ • ๋”œ๋ ˆ์ด ์—†์ด ๋งˆ์ผ์Šคํ†ค ๋‹ฌ์„ฑ

๐Ÿ”ฅ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)
์ด์Šˆ ๋ฌธ์ œ ์ƒํ™ฉ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ ๊ฒฐ๊ณผ
ํ™”๋ฉด ๋™๊ธฐํ™” ์ง€์—ฐ ๋‹ค์ˆ˜ ์œ ์ € ์‹ค์‹œ๊ฐ„ ๋Œ€์ „ ์ง„์ž… ์‹œ ์ „์†ก ๋ณ‘๋ชฉ ๋ฐ ์‹ฑํฌ ์–ด๊ธ‹๋‚จ ์ƒํƒœ ๊ตฌ๋… ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ธ๋ถ„ํ™” ๋ฐ ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ… ์ฃผ๊ธฐ ์ตœ์ ํ™” ๋™์‹œ ์ ‘์† ์‹œ ๋™๊ธฐํ™” ์˜ค์ฐจ๋ฅผ ์‹ค์‹œ๊ฐ„ ์ˆ˜์ค€์œผ๋กœ ์••์ถ•

๐Ÿ“š StudyO (์Šคํ„ฐ๋””์˜ค) โ€” ์˜ฌ์ธ์› ์Šคํ„ฐ๋”” ํ˜‘์—… ํ”Œ๋žซํผ

์Šคํ„ฐ๋”” ๋ชจ์ง‘, ํŒ€ ๋นŒ๋”ฉ, ์ฒด๊ณ„์ ์ธ ์ผ์ • ๊ด€๋ฆฌ ๋ฐ ํŒŒ์ผ ๊ณต์œ ๋ฅผ ์ง€์›ํ•˜๋Š” ํ†ตํ•ฉ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜

  • ๊ธฐ๊ฐ„: 2025.07 ~ 2025.08 (5์ฃผ)
  • ๊ธฐ์—ฌ: 6์ธ ํŒ€ (๋ณธ์ธ ๊ธฐ์—ฌ๋„: DB ์„ค๊ณ„ 30%, ๊ฐœ๋ฐœ 20%)
  • ๊ธฐ์ˆ : Java ย ย  Spring Boot ย ย  MyBatis ย ย  OracleDB ย ย  React ย ย  AWS S3
  • ๋งํฌ: GitHub Frontend ย ยทย  GitHub Backend

๐Ÿ’ก ๊ธฐํš ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ‘œ

  • ์ง„ํ–‰ ๋ฐฐ๊ฒฝ: ๊ธฐ์กด ์Šคํ„ฐ๋”” ๋ชจ์ž„์€ ์†Œํ†ต(์นด์นด์˜คํ†ก/์Šฌ๋ž™), ์ผ์ • ๊ณต์œ (๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋”), ํ•™์Šต ์•„์นด์ด๋น™(๋…ธ์…˜) ๋“ฑ์œผ๋กœ ์„œ๋น„์Šค๊ฐ€ ํŒŒํŽธํ™”๋˜์–ด ์žˆ์–ด ์ •๋ณด ์œ ์‹ค ๋ฐ ๊ด€๋ฆฌ ๋ณต์žก๋„๊ฐ€ ๋งค์šฐ ๋†’์•˜์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ: ๋ชจ์ง‘๋ถ€ํ„ฐ ์Šค์ผ€์ค„๋ง, ์ž๋ฃŒ ๋ณด๊ด€, ๊ณผ์ œ ์ œ์ถœ๊นŒ์ง€ ์Šคํ„ฐ๋”” ์ƒ์•  ์ฃผ๊ธฐ ์ „๋ฐ˜์„ ํ•œ ๊ณณ์—์„œ ์›์Šคํ†ฑ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” '์˜ฌ์ธ์› ํ˜‘์—… ์›Œํฌ์ŠคํŽ˜์ด์Šค' ๊ตฌํ˜„์„ ๋ชฉํ‘œ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ๊ธฐ์ˆ  ๋ฐ ์•„ํ‚คํ…์ฒ˜ ๋„์ž… ๋ฐฐ๊ฒฝ

  • Spring Boot & OracleDB: ๋‹ค์ˆ˜์˜ ์œ ์ € ๋ฐ ์Šคํ„ฐ๋”” ๊ทธ๋ฃน ๊ฐ„์˜ ๋ณต์žกํ•œ ๊ถŒํ•œ ์ฒ˜๋ฆฌ(์ ‘๊ทผ ์ œ์–ด)์™€ ์ผ์ •, ํŒŒ์ผ ๋“ฑ์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ •์ ์ด๊ณ  ๋ฌด๊ฒฐ์„ฑ ์žˆ๊ฒŒ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์ƒํƒœ๊ณ„์ธ Spring Boot ํ™˜๊ฒฝ์„ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.
  • AWS S3: ์Šคํ„ฐ๋””์›๋“ค์ด ๊ณต์œ ํ•˜๋Š” ๋Œ€์šฉ๋Ÿ‰ ํ•™์Šต ์ž๋ฃŒ ๋ฐ ์ด๋ฏธ์ง€ ํŒŒ์ผ๋“ค์„ ์›น ์„œ๋ฒ„(WAS) ๋ถ€ํ•˜ ์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ๋ถ„์‚ฐ ์ €์žฅํ•˜๊ณ  ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์—ฐ๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘จโ€๐Ÿ’ป ์—ญํ•  ๋ฐ ๊ธฐ์—ฌ๋„ (My Role & Contributions)

  • ํ†ตํ•ฉ ๋Œ€์‹œ๋ณด๋“œ ๋ฐ ์‹œ๊ฐํ™” ๊ฐœ๋ฐœ: Spring Boot ๋ฐฑ์—”๋“œ API๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  React์™€ ๋น„๋™๊ธฐ ์—ฐ๋™ํ•˜์—ฌ, ์œ ์ €๊ฐ€ ์ฐธ์—ฌ ์ค‘์ธ ๋‹ค์ค‘ ์Šคํ„ฐ๋””์˜ ์ฃผ๊ฐ„ ์ผ์ •๊ณผ ์ƒํƒœ ์ •๋ณด๋ฅผ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋Š” 'ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ๋Œ€์‹œ๋ณด๋“œ' ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ „๋‹ด ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ๋ณด์•ˆ ๋ชจ๋“ˆ ๊ตฌ์ถ•: ์•ˆ์ „ํ•œ ํŒŒ์ผ ์†ก์ˆ˜์‹ ์„ ์œ„ํ•ด AWS S3 ์—…๋กœ๋“œ ์‹œ pre-signed URL ํŒจํ„ด์„ ํ™œ์šฉํ•˜๊ณ , ํ™•์žฅ์ž ๋ฐ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ๊ฒ€์ฆ ์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๐Ÿ’ก ์ฃผ๋„ํ•œ ํ•ต์‹ฌ ์•„์ด๋””์–ด (์ „์—ญ ๊ณตํ†ต ๋ชจ๋‹ฌ ์•„ํ‚คํ…์ฒ˜): ๋‹ค์ˆ˜์˜ ์ƒ์„ธ ๊ธฐ๋Šฅ์ด ํŒ์—… ๋ฐ ๋ ˆ์ด์–ด ๋ชจ๋‹ฌ(Modal) ํ˜•ํƒœ๋กœ ๋นˆ๋ฒˆํ•˜๊ฒŒ ํ™œ์šฉ๋˜๋Š” UX ํŠน์„ฑ์ƒ ์ฝ”๋“œ ์ค‘๋ณต๋„๊ฐ€ ๋†’์Œ์„ ํฌ์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— **๋ฆฌ์•กํŠธ ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ์™€ ์—ฐ๋™ํ•œ 'ํ‘œ์ค€ํ™”๋œ ์ „์—ญ ๊ณตํ†ต ๋ชจ๋‹ฌ(Modal) ์•„ํ‚คํ…์ฒ˜'**๋ฅผ ์ œ์•ˆ ๋ฐ ์„ค๊ณ„ํ•˜์—ฌ ํŒ€์›๋“ค์˜ ํ”„๋ก ํŠธ์—”๋“œ UI ์ƒ์‚ฐ์„ฑ์„ ๋น„์•ฝ์ ์œผ๋กœ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ“ˆ ๊ฒฐ๊ณผ ๋ฐ ์„ฑ๊ณผ

  • ํ”„๋ก ํŠธ์—”๋“œ ๋ชจ๋‹ฌ ๊ด€๋ จ ์ฝ”๋“œ ์ค‘๋ณต๋ฅ  70% ๊ฐ์†Œ: ์ „์—ญ ๋ชจ๋‹ฌ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์„ ํ‘œ์ค€ํ™”ํ•˜์—ฌ ์‹ ๊ทœ ๋ชจ๋‹ฌ ์ž‘์„ฑ ์‹œ๊ฐ„ ๋‹จ์ถ• ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ํŽธ์˜์„ฑ ๊ทน๋Œ€ํ™”
  • ๋Œ€์šฉ๋Ÿ‰ ์ผ์ • ์กฐํšŒ ์ตœ์ ํ™”: ์บ˜๋ฆฐ๋” ํŒŒ์‹ฑ ๋‹จ๊ณ„์—์„œ์˜ ๋ฐ์ดํ„ฐ ํŠœ๋‹์„ ํ†ตํ•ด ๋ˆ„์  ์ผ์ • ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์‹œ์˜ ํ”„๋ ˆ์ž„ ๋“œ๋ž(Frame drop) ํ˜„์ƒ์„ ์™„์ „ ์ œ๊ฑฐํ•˜์—ฌ ๋งค๋„๋Ÿฌ์šด 60fps ์ธํ„ฐ๋ž™์…˜ ํ™•๋ณด
  • ์Šคํ† ๋ฆฌ์ง€ ๋ณด์•ˆ ๊ฐ•ํ™” ๋ฐ WAS ๋ฆฌ์†Œ์Šค ์„ธ์ด๋ธŒ: AWS S3 Direct Upload ํŒจํ„ด ์ ์šฉ์„ ํ†ตํ•œ ๋ฏธ๋””์–ด ์ž์› ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ์ ˆ์•ฝ

๐Ÿ”ฅ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)
์ด์Šˆ ๋ฌธ์ œ ์ƒํ™ฉ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ ๊ฒฐ๊ณผ
๋ Œ๋”๋ง ๋ณ‘๋ชฉ ํ˜„์ƒ ๋ˆ„์  ์ผ์ • ์ฆ๊ฐ€๋กœ ์ธํ•œ ์บ˜๋ฆฐ๋” ํŒŒ์‹ฑ ๋ถ€ํ•˜ ๋ฐ ํ”„๋ ˆ์ž„ ๋“œ๋ž ์ฟผ๋ฆฌ ํŠœ๋‹(ํ•„์š” ๋ฐ์ดํ„ฐ๋งŒ ์ถ”์ถœ) ๋ฐ ๋””๋ฐ”์šด์‹ฑ/useMemo ์ ์šฉ ํ”„๋ ˆ์ž„ ๋“œ๋ž ์ œ๊ฑฐ ๋ฐ 60fps์— ์ค€ํ•˜๋Š” ๋ Œ๋”๋ง ์„ฑ๋Šฅ ํ™•๋ณด

ยฉ 2026 bitedogo. All rights reserved.

Popular repositories Loading

  1. bitedogo bitedogo Public

  2. my_flutter_app my_flutter_app Public

    Java

  3. translator_app translator_app Public

    Dart

  4. translator_app_api translator_app_api Public

    JavaScript

  5. my_gemini_chat_ai my_gemini_chat_ai Public

    Dart

  6. ourmusicreview ourmusicreview Public

    TypeScript