2025년 1학기
교내 캡스톤 프로젝트 · 프론트엔드 개발
실시간 데이터 시각화에서 발생하는 불필요한 연산을 최소화하고, 사용자에게 필요한 정보만 안정적으로 전달했습니다.
불필요한 리렌더링을 줄이기 위해 Y축 범위를 현재 가격 기준 ±0.1%로 제한하고, useMemo를 활용해 의미 있는 변화에만 차트가 갱신되도록 개선했습니다.
실시간 데이터 갱신 과정에서 의미 없는 요청과 상태 변경이 반복되는 문제를 해결하기 위해, SWR의 조건부 패칭과 캐싱을 활용해 데이터 갱신 시점을 정리했습니다.
2024년 2학기
교내 캡스톤 프로젝트 · 프론트엔드 및 스마트컨트랙트 개발
사용자 진입 장벽을 낮추기 위해 비용 부담과 보안 리스크를 함께 고려한 데이터 저장 구조를 설계했습니다.
데이터 등록 시 발생하는 가스비가 사용자 진입 장벽이 될 수 있다고 판단해, 사용자는 서명만 수행하고 트랜잭션은 대리 실행되도록 구조를 설계했습니다.
의료 데이터의 프라이버시 침해와 연산 비용 문제를 함께 고려해, 온체인에는 암호화된 데이터만 저장하도록 역할을 분리했습니다.
2024년 1학기
숭실대학교 · 팀원
TSP 문제를 대상으로 유전 알고리즘과 강화학습 기반 접근을 직접 구현하고, 선택 연산·돌연변이율·학습 방식에 따른 최적화 성능을 비교했습니다.
유전 알고리즘 기반 TSP 최적화에서 초기 집단 생성 방식을 랜덤, Greedy, A* 순으로 개선하며 초기 집단 품질을 높였습니다.
토너먼트, 룰렛 휠, 순위 기반, 공유 기반 선택 연산을 각각 구현하고 비교 실험하여 토너먼트 선택을 채택했습니다.
돌연변이율 실험(0.01~0.5)을 통해 0.1일 때 약 47% 개선으로 가장 좋은 성능을 보이는 것을 확인했습니다.
세대가 진행될수록 돌연변이율을 높이는 동적 설계를 적용해 로컬 옵티멈 탈출을 개선했습니다.
강화학습 기반 TSP 최적화에서 Value Iteration을 구현해 약 40회 반복 후 거리 27.178로 수렴시켰습니다.
TD Q-Learning과 Monte Carlo Q-Learning을 비교 실험하여 TD 방식이 더 안정적으로 수렴함을 확인했습니다.
DQN을 직접 구현했으나 상태·행동 공간의 기하급수적 팽창으로 최적화에 실패했고, 샘플 효율성 부족과 단기 보상 설계의 한계를 분석했습니다.
2023년 2학기
숭실대학교 · 개인
xv6 커널을 직접 수정하며 시스템 콜 등록, 프로세스 스케줄링, Copy-on-Write까지 운영체제 내부 동작을 구현했습니다.
forknexec 시스템 콜을 syscall 등록부터 proc.c 구현까지 xv6 커널에 직접 구현했습니다.
우선순위 기반 스케줄러를 구현하고, 동일 우선순위에서는 실행 횟수가 적은 프로세스를 먼저 실행해 starvation을 방지했습니다.
Copy-on-Write를 구현해 fork 시 페이지를 공유하고, write 시점의 page fault를 통해 새 페이지를 할당하도록 커널을 수정했습니다.