Reach Out


스크린샷_2025-12-01_오후_10.38.53-removebg-preview.png

<aside> 📞

+82) 10-9422-0838

</aside>

<aside> <img src="attachment:94356a21-ff06-4fff-9346-3b228652ca5d:image-removebg-preview_(11).png" alt="attachment:94356a21-ff06-4fff-9346-3b228652ca5d:image-removebg-preview_(11).png" width="40px" />

[email protected]

</aside>

<aside> <img src="attachment:763d1712-f555-474e-82b4-d8e5f0277555:image-removebg-preview_(14).png" alt="attachment:763d1712-f555-474e-82b4-d8e5f0277555:image-removebg-preview_(14).png" width="40px" />

Github

</aside>

<aside> <img src="attachment:fcc41e1a-402b-4254-bf0f-3af66b5c77fc:image.png" alt="attachment:fcc41e1a-402b-4254-bf0f-3af66b5c77fc:image.png" width="40px" />

Velog

</aside>

<aside> <img src="attachment:5ee4aead-f402-4cb2-886c-57c2ae9dd0d1:image.png" alt="attachment:5ee4aead-f402-4cb2-886c-57c2ae9dd0d1:image.png" width="40px" />

LinkedIn

</aside>

About me


어제보다 나은 구조를 빚는 백엔드 개발자, 김동욱입니다.

어제의 나를 의심하는 것이 제 개발 철학입니다.

배움을 멈추는 순간 기술 부채가 쌓인다는 걸 알기에, 항상 어제의 나를 의심합니다. 그래서 동료의 의견을 수용하는 것에 거부감이 없습니다. 내가 틀릴 수 있다는 걸 알고, 더 나은 방향이 있다면 기꺼이 따릅니다.

저는 동시에 조형가이기도 합니다.

문제를 마주하면 추상 레벨부터 trade-off를 따져보고, 가장 적은 자원으로 가장 좋은 성능을 내는 구조를 빚어냅니다.

Key Highlights


<aside> 💬

부산소마고 우수학생 글로벌 취업 역량 강화 프로그램 참여

</aside>

<aside> 💬

학교 실서비스 기획·개발 - 현재 운영 중

자습감독·이석관리 플랫폼 티치몬 백엔드 개발

</aside>

<aside> 💬

월 트래픽 62만+ / 부산글로벌도시재단 미팅

유학생 문화 적응 플랫폼 누리 백엔드 개발·운영

</aside>

<aside> 💬

부산광역시 정보영재교육원에서 부산광역시 교육감상 수상

</aside>

TeachMon (학생 자습 및 이석 관리 서비스) - 실사용 서비스


부산소프트웨어마이스터고는 기숙사형 학교로, 방과후 및 자습 시간에 교사들이 감독을 담당합니다. 기존 엑셀 기반 관리 방식이 복잡하고 가독성이 낮아, 선생님들이 불편해하고 계셨습니다. 이를 개선하기 위해 TeachMon 서비스를 개발했습니다.

Student Scheduler Loading System 학생 일정 로딩 시스템

Job 레벨과 Step 레벨에 각각 다른 Executor를 적용해 유휴 리소스를 최소화하면서 step 단위 병렬 실행을 보장하는 이중 Executor 배치 구조를 설계


시스템 아키텍처

Teachmon_State_Change.drawio (4).png


배경 및 문제 정의

배경

학생 스케줄을 매주 일괄 갱신해야 하는 요구사항에서, 스케줄 타입 간 우선순위 의존성으로 인해 삽입 순서가 보장되지 않으면 데이터 정합성이 깨지는 문제가 있었습니다. 또한 실패 시 재실행 및 실행 이력 관리가 필요했으며, 데이터 규모로 인한 처리 성능도 함께 고려해야 했습니다.

문제 정의


접근 방식

Job 레벨과 Step 레벨에 각각 다른 Executor를 적용해 유휴 리소스를 최소화하면서 step 단위 병렬 실행을 보장하는 이중 Executor 배치 구조를 설계