
블로그를 운영하며, 여러 활동들을 진행하고 있습니다.**
School | 경북SW마이스터고등학교 SW개발과 졸업예정
Email | [email protected]
Github | https://github.com/choieunsu2009
Phone | 010-6206-5573

캡스톤 프로젝트에 꼭 필요한 협업 문서관리 시스템인 Notion의 과금 정책을 학교 자체 서버로 구동함으로서 학생 부담금을 0원으로 만드는데 목표를 두었습니다 또한 경북소프트웨어마이스터고의 특성을 살리기 위해 문서에 낮은 사양의 Python Interpreter를 탑재 가능한 기능을 추가하여, 수업시간에 자료로 활용 할 수 있게 하였습니다 이 외에도 그룹별 공유 캘린더, 공지게시판, 동아리별 커뮤니티 등 다양한 기능을 탑재하여 학교 내부 전반에 걸쳐 사용 가능하도록 설계하였습니다 A-END 동아리에서 계속해서 고도화 및 업데이트 중입니다
바로가기 → (test용 계정 id: testerGotionPF, pw:gotiongotion)
Frontend 2명, Backend 1명, AI 2명, CyberSecurity Manager 1명 | 2026.03.29 ~ 운영 중
개발기간 | 2026.03.08 ~ NOW
Frontend, Backend, UI/UX Designer, PM, Agentic Programming
Figma , Github , Express js , React jsx , Deploy, Claude Code
다층 Rate Limiting 시스템 구현
JWT 인증 미들웨어 구현
GitHub Actions CI/CD 파이프라인 구성
Gotion AI를 서버와 연결함
기여도
대쉬보드

노트 작성 화면

Gotion AI 화면

서비스 아키텍쳐

<aside>
문제 배경
brute force 공격을 막기 위해 ip 기반 로그인 rate limit을 설정하였지만(ip당 50회), 학생들이 학교에 있을땐 모두가 같은 IP를 공유하기때문에 몇번만 시도해도 전교생이 로그인을 하지 못하는 문제가 발생했습니다.
1차 해결 방법 (실패적)
ip당 로그인 제한을 널널하게 변경하여, 전교생이 사용해도 문제가 생기지 않을정도로 조정을 하였습니다. (ip당 200,000회)
1차 해결 방법의 문제점
이렇게 변경을 진행하니, 사용자들의 컴플레인인 과한 rate limit 은 사라졌습니다 그러나, 본질적으로 rate limit을 넣은 이유인 brute force 공격에는 오히려 취약해지는 문제가 발생했습니다
2차 해결 방법
이 문제를 해결하기 위해 IP당 rate limit은 ip당 1,500회로 줄이고, id당 rate limit을 15분당 5회로 제한하는 새로운 검증 코드를 추가했습니다
해당 경험을 통해 알게된 점
단순한 지금의 문제 해결이 아닌, 이 기술을 “왜” 사용해야 하는지를 이해하고 그 이유에 맞는 해결책을 제시해야합니다. 또한, 작성하는 모든 코드엔 “설명 가능한 이유” 가 있어야 한다는걸 알게되었습니다
</aside>