Skip to content
View mumberrymountain's full-sized avatar
  • Seoul, South Korea

Block or report mumberrymountain

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 supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mumberrymountain/README.md

Software Developer | Continuously Contributing & Building

πŸ’» Skills

πŸš€ Programming Languages

Java Python JavaScript TypeScript Bash

βš™οΈ Frameworks & Library

Spring Spring Boot Spring Data JPA FastAPI NestJS Express React Next.js

πŸ›’οΈ Database

MySQL Oracle Redis

πŸ› οΈ DevOps / CI & CD

Docker GitHub Actions Kubernetes Terraform Prometheus Grafana

πŸ† Certifications

AWS Certified Solutions Architect - Associate

🌟 Open Source Contributions

πŸ”§ Major Contributions

  • fastexcel

    • fastexcel-readerκ°€ μ—‘μ…€ 파일의 1904 λ‚ μ§œ 체계λ₯Ό μ •μƒμ μœΌλ‘œ μΈμ‹ν•˜μ§€ λͺ»ν•˜λŠ” ν˜„μƒ μˆ˜μ •
    • Pull Request: #PR521
  • tabulator

    • ν…Œμ΄λΈ”μ„ μž„μ‹œμ μœΌλ‘œ DOMμ—μ„œ μ§€μš΄ μƒνƒœμ—μ„œ 행을 μΆ”κ°€ν•˜κ³ , λ‹€μ‹œ ν…Œμ΄λΈ”μ„ DOM에 그릴 λ•Œ ν–‰ μΆ”κ°€ μƒνƒœκ°€ λ°˜μ˜λ˜μ§€ μ•ŠλŠ” ν˜„μƒ μˆ˜μ •
    • Pull Request: #PR4756
  • filepond

    • 슀크둀이 생길 μ •λ„λ‘œ 데이터가 λ§Žμ„ 경우, λ“œλž˜κ·Έ μ•€ λ“œλžμœΌλ‘œ μ†ŒνŒ…ν•  λ•Œ λ“œλž 데이터 ν¬μ§€μ…˜μ΄ μ΄μƒν•˜κ²Œ μž‘νžˆλŠ” ν˜„μƒ μˆ˜μ •
    • Pull Request: #PR1057

πŸ“ Documentation & Minor Fixes

  • ComposerRuntime λ¬Έμ„œ μ˜€νƒ€ μˆ˜μ • (#PR2412)

🎯 Portfolio

ν•œκΈ€ λ¬Έμ„œ(HWP/HWPX)λ₯Ό μ—…λ‘œλ“œν•˜μ—¬ λ¬Έμ„œ λ‚΄μš©μ„ AI둜 λΆ„μ„ν•˜λŠ” 챗봇 μ• ν”Œλ¦¬μΌ€μ΄μ…˜

πŸ”— Links: Website | Repository

πŸ“Œ μ£Όμš” κΈ°λŠ₯

  • HWP/HWPX νŒŒμΌμ„ μ—…λ‘œλ“œν•˜μ—¬, ν•΄λ‹Ή λ¬Έμ„œλ₯Ό 기반으둜 λ¬Έμ„œ λ‚΄μš©μ„ μš”μ•½ν•©λ‹ˆλ‹€.
  • λ¬Έμ„œ μ»¨ν…μŠ€νŠΈλ₯Ό ν™œμš©ν•œ AI 챗봇 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • ν•œκ΅­μ–΄, μ˜μ–΄, μ•„λžμ–΄(RTL μ‹€μŠ΅μš©) λ“± λ‹€μ–‘ν•œ μ–Έμ–΄λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.
  • 닀크 λͺ¨λ“œ/라이트 λͺ¨λ“œ ν…Œλ§ˆλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.
  • RTL λͺ¨λ“œλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.

πŸ› οΈ Tech Stack

  • Frontend: TypeScript, React 19, Next.js 15, Tailwind CSS, Zustand, next-intl, next-themes
  • Backend: Java 21, Spring Boot 3.5.5, Spring AI, Spring Data JPA, Spring Data Redis, Spring WebFlux (SSE Streaming)
  • Database: MariaDB 10
  • Cache: Redis 7
  • Library: hwpxlib, hwplib (ν•œκΈ€ λ¬Έμ„œ 처리)
  • Infrastructure: Docker, Kubernetes, Terraform

🎯 핡심 μ„±κ³Ό & ν•™μŠ΅ λ‚΄μš©

μ„±λŠ₯ μ΅œμ ν™”

  • react-virtuoso을 ν™œμš©ν•΄ 가상 μŠ€ν¬λ‘€μ„ κ΅¬ν˜„ν•˜μ—¬ λŒ€λŸ‰ 데이터(μŠ€λ ˆλ“œ 200개, μ±„νŒ… 200개) λ Œλ”λ§ μ„±λŠ₯을 90% κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€. (4.14초 β†’ 0.41초)
  • 벑터 μœ μ‚¬μ„± 비ꡐλ₯Ό μ΅œμ ν™”ν•˜κ³  Redis 캐싱을 ν™œμš©ν•˜μ—¬ λ¬Έμ„œ μš”μ•½ 처리 μ‹œκ°„μ„ 98.2% κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€. (5λΆ„ 29초 β†’ 5.9초)
  • μΏ λ²„λ„€ν‹°μŠ€ ν™˜κ²½μ—μ„œ MySQL λŒ€μ‹  MariaDB 이미지λ₯Ό μ‚¬μš©ν•˜κ³  startupProbeλ₯Ό ν™œμš©ν•˜μ—¬ νŒŒλ“œ 생성 μ‹œκ°„μ„ 63.7% λ‹¨μΆ•ν–ˆμŠ΅λ‹ˆλ‹€. (134초 β†’ 49초)

기술 κ΅¬ν˜„

  • Spring AIλ₯Ό ν™œμš©ν•˜μ—¬ HWPX/HWP λ¬Έμ„œ μš”μ•½ 및 μ±„νŒ… κΈ°λŠ₯을 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • 파일 ν•΄μ‹œ 기반 Redis μΊμ‹±μœΌλ‘œ 쀑볡 파일 μ—…λ‘œλ“œ μ‹œ 처리 μ‹œκ°„μ„ λ‹¨μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μž κ²½ν—˜

  • next-intl을 ν™œμš©ν•˜μ—¬ ν•œκ΅­μ–΄, μ˜μ–΄, 쀑ꡭ어, 일본어, μ•„λžμ–΄ λ“± λ‹€κ΅­μ–΄λ₯Ό μ§€μ›ν•˜κ³  RTL λ ˆμ΄μ•„μ›ƒμ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • next-themes을 μ‚¬μš©ν•˜μ—¬ 라이트 ν…Œλ§ˆ/닀크 ν…Œλ§ˆλ₯Ό λͺ¨λ‘ μ§€μ›ν•˜λ„λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • Zustandλ₯Ό ν™œμš©ν•œ κ²½λŸ‰ μƒνƒœ κ΄€λ¦¬λ‘œ μŠ€λ ˆλ“œ 및 λŒ€ν™” 기둝을 효율적으둜 κ΄€λ¦¬ν•˜λ„λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

인프라 & DevOps

  • Docker Compose와 Kubernetesλ₯Ό ν™œμš©ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆ 기반 배포 ν™˜κ²½μ„ κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.

HWPX ν…œν”Œλ¦Ώ νŒŒμΌμ„ 기반으둜 데이터λ₯Ό μ£Όμž…ν•˜μ—¬ λ¬Έμ„œλ₯Ό μƒμ„±ν•˜λŠ” Java 라이브러리

πŸ”— Links: Repository | Documentation | Maven Central

πŸ“Œ μ£Όμš” κΈ°λŠ₯

  • ν…œν”Œλ¦Ώ 파일 기반으둜 HWPX λ¬Έμ„œμ— 데이터λ₯Ό μ£Όμž…ν•˜μ—¬ μƒμ„±ν•˜λŠ” 라이브러리λ₯Ό κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • κΈ°λ³Έ νƒœκ·Έ, 쑰건문 νƒœκ·Έ, 반볡문 νƒœκ·Έ, 이미지 νƒœκ·Έ, ν…Œμ΄λΈ” νƒœκ·Έ λ“± λ‹€μ–‘ν•œ νƒœκ·Έ κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ λ¬Έμ„œλ₯Ό 생성할 수 μžˆλ„λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • μ»€μŠ€ν„°λ§ˆμ΄μ§• κ°€λŠ₯ν•œ ν…œν”Œλ¦Ώ 문법 및 인터셉터 μ‹œμŠ€ν…œ 섀계
  • Maven Central에 λ°°ν¬ν•˜μ—¬ 라이브러리λ₯Ό 곡개적으둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

πŸ› οΈ Tech Stack

  • Language: Java 8+
  • Build Tool: Maven
  • Code Review: CodeRabbit (AI-powered code review)
  • Documentation: MkDocs, GitHub Pages

🎯 핡심 μ„±κ³Ό & ν•™μŠ΅ λ‚΄μš©

  • HWPX의 OOXML ꡬ쑰λ₯Ό 기반으둜 νŒŒμΌμ„ νŒŒμ‹±ν•˜μ—¬ 데이터λ₯Ό λ Œλ”λ§ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ„ κ°œλ°œν–ˆμŠ΅λ‹ˆλ‹€.
  • νŒ©ν† λ¦¬ νŒ¨ν„΄, λΉŒλ” νŒ¨ν„΄ λ“± λ‹€μ–‘ν•œ λ””μžμΈ νŒ¨ν„΄μ„ μ μš©ν•˜μ—¬ μœ μ§€λ³΄μˆ˜μ„±κ³Ό ν™•μž₯성을 ν–₯μƒμ‹œμΌ°μŠ΅λ‹ˆλ‹€.
  • JUnit을 ν™œμš©ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•˜μ—¬ μ½”λ“œ μ•ˆμ •μ„±μ„ ν™•λ³΄ν–ˆμŠ΅λ‹ˆλ‹€.
  • Maven Central에 μ‹€μ œλ‘œ 라이브러리λ₯Ό λ°°ν¬ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό κ²½ν—˜ν–ˆμŠ΅λ‹ˆλ‹€.
  • CodeRabbit을 ν™œμš©ν•˜μ—¬ μžλ™ν™”λœ μ½”λ“œ 리뷰 μ‹œμŠ€ν…œ ꡬ좕을 κ΅¬μΆ•ν•˜μ—¬ μ½”λ“œμ˜ ν’ˆμ§ˆμ„ ν–₯μƒμ‹œμΌ°μŠ΅λ‹ˆλ‹€.
  • MkDocsλ₯Ό ν™œμš©ν•˜μ—¬ 체계적인 μ‚¬μš©μž 맀뉴얼을 κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.

HWPXTemplater 라이브러리의 κΈ°λŠ₯을 μ‹œμ—°ν•˜λŠ” μ„œλ²„λ¦¬μŠ€ ν’€μŠ€νƒ μƒ˜ν”Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜

πŸ”— Links: Website | Repository

πŸ“Œ μ£Όμš” κΈ°λŠ₯

  • HWPXTemplater 라이브러리의 λ‹€μ–‘ν•œ κΈ°λŠ₯듀을 μ‹œμ—°ν•©λ‹ˆλ‹€.
  • μ‚¬μš©μžκ°€ 직접 데이터λ₯Ό μž…λ ₯ν•˜μ—¬ HWPX 파일 생성을 μ²΄ν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ› οΈ Tech Stack

  • Frontend: TypeScript, React/Next.js
  • Backend: Java, AWS Lambda
  • Library: HWPXTemplater
  • Infrastructure: AWS S3 (Frontend Hosting), AWS Lambda (Serverless Backend)
  • CI/CD: GitHub Actions

🎯 핡심 μ„±κ³Ό & ν•™μŠ΅ λ‚΄μš©

  • κ°œλ°œν•œ μ˜€ν”ˆμ†ŒμŠ€ 라이브러리의 λ™μž‘μ„ μ‹œμ—°ν•˜λŠ” 데λͺ¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • AWS Lambdaλ₯Ό ν™œμš©ν•˜μ—¬ EC2 μ˜¨λ””λ§¨λ“œμ™€ λŒ€λΉ„ν•΄ λΉ„μš©νš¨μœ¨μ μ΄λ©° κ°€μš©μ„±λ„ 높은 μ„œλ²„λ¦¬μŠ€ 아킀텍쳐λ₯Ό μ„€κ³„ν•˜κ³  κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • S3 + CloudFront + ACM + Route53 μ‘°ν•©μœΌλ‘œ μ•ˆμ „ν•˜κ³  λΉ λ₯Έ κΈ€λ‘œλ²Œ μ½˜ν…μΈ  배포 ν™˜κ²½μ„ κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.
  • ACMμœΌλ‘œλΆ€ν„° μΈμ¦μ„œλ₯Ό λ°œκΈ‰λ°›μ•„ CloudFront에 μ—°λ™ν•˜μ—¬ HTTPSλ₯Ό μ μš©ν–ˆμŠ΅λ‹ˆλ‹€.
  • Route53을 톡해 μ»€μŠ€ν…€ 도메인을 μ„€μ •ν•˜κ³  DNSλ₯Ό κ΄€λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.
  • React와 TypeScriptλ₯Ό ν™œμš©ν•˜μ—¬ μΈν„°λž™ν‹°λΈŒν•œ ν”„λ‘ νŠΈμ—”λ“œ νŽ˜μ΄μ§€λ₯Ό κ°œλ°œν–ˆμŠ΅λ‹ˆλ‹€.
  • ν…œν”Œλ¦Ώ 관리λ₯Ό AWS S3 기반으둜 μ „ν™˜ν•˜μ—¬ λΉ„κ°œλ°œνŒ€ ν˜‘μ—… νš¨μœ¨ν™” 및 무배포 μ‹€μ‹œκ°„ 반영 체계λ₯Ό κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€

πŸ“« Contact

Pinned Loading

  1. hanguelchat hanguelchat Public

    HWX/HWPX λ¬Έμ„œ 뢄석 챗봇

    TypeScript

  2. hwpxtemplater hwpxtemplater Public

    template library to produce HWPX documents

    Java 1 1

  3. hwpxtemplater-sample hwpxtemplater-sample Public

    hwpxtemplater 라이브러리 μƒ˜ν”Œ μ‚¬μ΄νŠΈ

    TypeScript