미리보기
기본 정보
일관된 소프트웨어를 지향합니다
기술 스택
Java, JavaScript, Spring Boot, Vue.js, MySQL, MSSQL, Azure, AWS
자기소개
- 일관성을 중요시 생각합니다.
소프트웨어에 의도적으로 변경을 가한 것이 아니라면 소프트웨어의 동작은 항상 일관되어야 한다고 생각합니다.
따라서 최대한 부수효과가 적은 방법을 고민합니다
- 사용자 위주 소프트웨어를 좋아합니다.
기업이 가지고 있는 기술력도 중요하지만, 사용자가 얼마나 만족감을 느끼는 서비스를 제공하는 지를 더욱 중요하게 생각합니다.
사용자의 만족도가 곧 기업 가치와 연관되고 우리 서비스의 강점이 될 것이라고 생각하기 때문입니다.
경력
(주)아큐라소프트
사원 | 개발팀 | 재직 중
2024.04. ~ 재직 중 (11개월)
한국단미사료협회 유지 보수 및 신규 기능 개발
메일 발송 시스템 개선
- 기존의 메일 발송 시스템 구조가 Memory Leak을 유발하기 좋은 구조여서 개선
- 추가로 메일 발송 실패에 대한 피드백을 추가하여 실패 시 재시도 후 사용자에게 안내
문서의 고유 번호 생성 시 동시성 문제 해결
- 분산 환경에서의 동시성 문제를 해결해야 하나, Redis등을 도입할 수 없기에 주어진 환경에서 개선
- 해당 테이블은 조회가 많이 일어나는 테이블이므로 Lock을 걸어두기에 위험성이 있다고 판단.
고유 번호를 생성해둔 새로운 테이블을 만들고 Row Lock을 걸어 개선
프로젝트
타이어리
한국소프트웨어산업협회
2023.12. ~ 2023.12.
누구가 작가가 될 수 있는 플랫폼, 내가 쓴 글로 수익을 올리는 공간을 제공하는 프로젝트
사용 기술 및 라이브러리
Vue.js
Tailwind CSS
Spring Boot
Spring Batch
Toast UI Editor
담당한 기능
메인 페이지, 헤더, 포스팅 페이지, 포스팅 리스트 페이지 구현
연관 게시물 구현, 포스팅, 카테고리 해시태그 등 포스팅에 관련된 전반적인 것 구현
이외 팀원들이 어려워하는 부분들 트러블 슈팅 진행
구현 상세 및 고민
연관 게시물 구현
→ 연관 게시물 구현 시 연관에 대한 설정 고민
→ Naver News AiRS 알고리즘을 참고하여 구현
→ 게시물을 TF-IDF 로 벡터화 하였고 이후 연관도 설정에서 적은 표본으로 문제 상황
→ 임의의 기준으로 연관도 매핑
연관 게시물 구현 시 반복 작업 및 DB 읽기 쓰기에 대한 trade-off 고민
→ 반복 작업은 Spring batch 와 Scheduler로 해결하기로 결정 LINK: POST
→ 읽기 쓰기는 데이터를 캐싱하는 것으로 결정
→ 100건의 게시물을 RDB에서 가져오는 것보다 약 1초 가량 빨라짐 데이터가 많아질수록 효율 증가캐싱 구현 로직에 이슈가 있어서 개선 LINK :POST
데이터 조회 속도 향상에 대한 고민
→ 연관 게시물을 클러스터화 해서 클러스티드 인덱싱을 적용해보는 건 어떨까??
→ 데이터 유실을 고려해서 스프링 캐싱 말고 Redis를 활용해보는 것은 어떨까?